开发者社区 问答 正文

为什么云服务器 ECS Linux MongoDB 启动报错:child process failed



问题现象



启动 MongoDB 以后就报下面的错误: Starting mongod: Wed May 29 16:32:31.518Wed May 29 16:32:31.518 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.Wed May 29 16:32:31.518about to fork child process, waiting until server is ready for connections.forked process: 17684all output going to: /var/log/mongo/mongod.logERROR: child process failed, exited with error number 100 [失败]

问题原因



错误提示为:ERROR: child process failed, exited with error number 100

解决方案



没有正常关闭 MongoDB 服务,导致MongoDB  被锁,删除掉 MongoDB 里的 mongod.lock 文件,重新启动服务即可。

如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-23 10:11:40 2197 分享 版权
阿里云 AI 助理回答

问题现象: 在启动MongoDB时遇到错误提示,具体信息为:

Starting mongod: Wed May 29 16:32:31.518
Wed May 29 16:32:31.518 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Wed May 29 16:32:31.518 about to fork child process, waiting until server is ready for connections.
forked process: 17684
all output going to: /var/log/mongo/mongod.log
ERROR: child process failed, exited with error number 100 [失败]

问题原因: 错误提示指出“child process failed, exited with error number 100”,这通常意味着MongoDB服务启动过程中遇到了致命错误,可能是因为之前非正常关闭、配置问题或文件系统权限问题等导致的。

解决方案: 1. 删除mongod.lock文件:首先尝试删除MongoDB数据目录下的mongod.lock文件。这个文件的存在表明MongoDB上次没有正常关闭,可能会阻止MongoDB正确启动。执行以下命令(假设数据目录为默认的 /data/db/):

sudo rm /data/db/mongod.lock
  1. 检查日志文件:查看MongoDB的日志文件以获取更详细的错误信息,根据上述情况日志路径为/var/log/mongo/mongod.log。通过阅读日志,可以找到导致启动失败的具体原因。

  2. 确认journaling设置:由于错误信息中提到了关于journaling(日志持久化)的警告,如果需要确保数据的持久性,请在启动MongoDB时添加--journal参数来启用journaling功能。

  3. 检查配置文件与权限:如果上述步骤未能解决问题,参考知识库资料和,检查是否正确使用了mongod.conf配置文件,并确认相关文件(如keyFile)的权限设置是否正确。同时,确保系统中没有其他正在运行的MongoDB进程冲突。

  4. 磁盘空间检查:虽然当前错误信息未直接指向磁盘空间问题,但作为排查的一部分,也应确保磁盘空间充足,避免因空间耗尽导致的各种异常。

如果以上操作后问题仍然存在,建议进一步查阅官方文档或在阿里云社区进行免费咨询,或联系云市场商家寻求专业帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答