启动mongod fork,ERROR:子进程失败,退出,错误编号为1

Ryd*_*rud 45 unix amazon-ec2 mongodb

在尝试运行命令时

mongod --fork --logpath /var/log/mongodb.log
Run Code Online (Sandbox Code Playgroud)

在亚马逊ec2 32位实例(亚马逊Linux AMI版本2014.09)上,我遇到以下错误:

2015-02-18T18:14:09.007+0000 
2015-02-18T18:14:09.007+0000 warning: 32-bit servers don't have journaling    
enabled by default. Please use --journal if you want durability.
2015-02-18T18:14:09.007+0000 
about to fork child process, waiting until server is ready for connections.
forked process: 17116
ERROR: child process failed, exited with error number 1
Run Code Online (Sandbox Code Playgroud)

我还注意到在此过程中没有创建日志文件.

one*_*nch 65

我有同样的事情,结果证明是权限问题.如果子进程的所有者无法访问日志路径或者日志路径不存在,则它将失败.

我所做的是将日志目录放在我的主目录中:

mkdir ~/log
mongod --fork --logpath ~/log/mongodb.log
Run Code Online (Sandbox Code Playgroud)

如果您确实想将它放在/ var/log目录中,只需更改权限即可.

  • @kabadisha你真的不应该在/ var/log上有777这个目录中存储了很多潜在的敏感数据.尝试将目录权限更改为740并首先创建日志文件.找到用户mongod正在运行和chown该文件.然后使用744 chmod该文件.我只是在这里猜测,但几乎所有的perms都优于777/var/log祝你好运 (2认同)

ors*_*ady 8

对于遇到此错误的任何其他人[即使您使用sudo运行它]请确保您在日志文件中声明:/var/log/mongodb.log.我只有/ var/log /中的目录路径,因为我错过了阅读mongo文档.


Nat*_* L. 7

我也有同样的错误,但是我使用sudo并运行sudo mongod --fork --logpath /var/log/mongodb.log.正如@jryancanty所提到的,它只是一个权限错误.

  • 即使使用"sudo"后我仍然有问题 (4认同)
  • 使用sudo可以将错误号从1更改为100。 (2认同)