mongoDB启动报错 ERROR: child process failed, exited with error number

mongoDB启动报错 ERROR: child process failed, exited with error number

 一介布衣  2014-11-17  mongodb  68599

分享到:QQ空间新浪微博腾讯微博人人网微信

31b378c127ab4cbb9a58d12c91cf90d6

上面这个错误是今天下午发现,从github down下一个应用,在应用启动前需要redis 启动服务,mongodb启动服务,所以当启动mongodb的时候悲剧出现了:

zhangzhi@moke:~$ mongod --dbpath=/data/club --port=27017 --fork --logpath=/var/log/mongodb/mongodb.log
about to fork child process, waiting until server is ready for connections.
forked process: 43110
all output going to: /var/log/mongodb/mongodb.log
log file [/var/log/mongodb/mongodb.log] exists and couldn't make backup [/var/log/mongodb/mongodb.log.2014-11-17T06-55-20]; run with --logappend or manually remove file: errno:13 Permission denied
Bad logpath value: "/var/log/mongodb/mongodb.log"; terminating.
ERROR: child process failed, exited with error number 1

 

出现这种错误的原因:

大部分是因为mongodb 服务在不正常关闭的情况下,mongod 被锁,想想可能是上次无故死机造成的.

 

如何解决这种问题:

  1. 删除 mongod.lock 文件和日志文件 mongodb.log.2014-11-17T06-55-20 ,如果有必要把 log日志全部删除

  2. mongod --repair --dbpath /data/db / --repairpath /tmp/mongodb

     

root@moke:~# mongod --repair --dbpath /data/db/ --repairpath /tmp/mongodb
Mon Nov 17 15:19:15.374 You must use a --repairpath that is a subdirectory of --dbpath when using journaling
Mon Nov 17 15:19:15.375 dbexit:
Mon Nov 17 15:19:15.375 shutdown: going to close listening sockets...
Mon Nov 17 15:19:15.375 shutdown: going to flush diaglog...
Mon Nov 17 15:19:15.375 shutdown: going to close sockets...
Mon Nov 17 15:19:15.375 shutdown: waiting for fs preallocator...
Mon Nov 17 15:19:15.376 shutdown: lock for final commit...
Mon Nov 17 15:19:15.376   Assertion failure c src/mongo/db/client.h 235
0x1033e4d80 0x1033b85e7 0x10305cd47 0x10305cb1a 0x10305ce97 0x10305e33d 0x10305fd75 0x10312e69d 0x102ef6c63 0x102ef26fd 0x7fff8dd185c9
 0   mongod                              0x00000001033e4d80 _ZN5mongo15printStackTraceERSo + 64
 1   mongod                              0x00000001033b85e7 _ZN5mongo12verifyFailedEPKcS1_j + 295
 2   mongod                              0x000000010305cd47 _ZN5mongo4Lock26ParallelBatchWriterSupport6relockEv + 391
 3   mongod                              0x000000010305cb1a _ZN5mongo4Lock26ParallelBatchWriterSupportC2Ev + 26
 4   mongod                              0x000000010305ce97 _ZN5mongo4Lock10ScopedLockC2Ec + 39
 5   mongod                              0x000000010305e33d _ZN5mongo4Lock10GlobalReadC2Ei + 29
 6   mongod                              0x000000010305fd75 _ZN5mongo11readlocktryC2Ei + 53
 7   mongod                              0x000000010312e69d _ZN5mongo6dbexitENS_8ExitCodeEPKc + 893
 8   mongod                              0x0000000102ef6c63 _ZL25processCommandLineOptionsRKSt6vectorISsSaISsEE + 14755
 9   mongod                              0x0000000102ef26fd main + 637
 10  libdyld.dylib                       0x00007fff8dd185c9 start + 1
Mon Nov 17 15:19:15.420 shutdown failed with exception
Mon Nov 17 15:19:15.420 dbexit: really exiting now

 

然后 mongod --dbpath=/data/db  --port=27017  --fork --logpath=/val/log/mongodb/mongodb.log

root@moke:~# mongod --dbpath=/data/db --port=27017 --fork --logpath=/var/log/mongodb/mongodb.log
about to fork child process, waiting until server is ready for connections.
forked process: 43144
all output going to: /var/log/mongodb/mongodb.log
log file [/var/log/mongodb/mongodb.log] exists; copied to temporary file [/var/log/mongodb/mongodb.log.2014-11-17T07-21-41]
child process started successfully, parent exiting

 

OK,mongodb 后台启动成功.

你可能感兴趣

转载于:https://my.oschina.net/u/3367404/blog/3102375

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个误通常是由于MongoDB启动失败导致的,具体原因可能有很多,例如: - MongoDB配置文件中的参数设置不正确。 - MongoDB数据目录的权限不正确。 - MongoDB数据目录已经损坏或者磁盘空间不足。 - MongoDB二进制文件或者依赖库文件损坏或者不存在。 要解决这个问题,你可以尝试以下几种方法: 1. 检查MongoDB配置文件中的参数设置是否正确。可以查看MongoDB的日志文件,例如: ``` tail -f /var/log/mongodb/mongod.log ``` 如果发现日志中有误信息,可以根据误信息来修复问题。 2. 检查MongoDB数据目录的权限是否正确。可以使用以下命令来设置MongoDB数据目录的权限: ``` sudo chown -R mongodb:mongodb /var/lib/mongodb sudo chmod -R 755 /var/lib/mongodb ``` 其中"mongodb"是MongoDB服务运行时所使用的用户。 3. 检查MongoDB数据目录是否已经损坏或者磁盘空间不足。可以使用以下命令来检查MongoDB数据目录的磁盘空间: ``` df -h /var/lib/mongodb ``` 如果发现磁盘空间不足,可以尝试清理一些不必要的文件或者扩大磁盘空间。 4. 检查MongoDB二进制文件或者依赖库文件是否损坏或者不存在。可以使用以下命令来检查MongoDB二进制文件和依赖库文件: ``` md5sum /usr/bin/mongod md5sum /usr/lib64/libbson-1.0.so.0 md5sum /usr/lib64/libmongoc-1.0.so.0 ``` 如果发现文件的md5值不正确,可以重新安装MongoDB或者修复文件。 希望以上方法能够帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值