错误:子进程失败,退出错误号为51 MongoDB

时间:2017-05-09 17:45:29

标签: mongodb

重启MongoDB时出现此错误,我正在使用Mongo 3.2.4并在新机器上进行此设置

Starting mongod... about to fork child process, waiting until server is ready for connections.
forked process: 19438
ERROR: child process failed, exited with error number 51
 mongod(_ZN5mongo19MmapV1ExtentManager4initEPNS_16OperationContextE+0x4A8) [0x1040278]
 mongod(_ZN5mongo26MMAPV1DatabaseCatalogEntryC1EPNS_16OperationContextENS_10StringDataES3_bb+0x187) [0x1036dc7]
 mongod(_ZN5mongo12MMAPV1Engine23getDatabaseCatalogEntryEPNS_16OperationContextENS_10StringDataE+0x14E) [0x103a1de]
 mongod(_ZN5mongo14DatabaseHolder6openDbEPNS_16OperationContextENS_10StringDataEPb+0x133) [0xac92a3]

-----  END BACKTRACE  -----

3 个答案:

答案 0 :(得分:1)

通过将以下行插入/etc/security/limits.conf

来解决此问题
mongodb      soft    nofile          65535
mongodb      hard    nofile          90000
mongodb      soft    nproc           65535
mongodb      hard    nproc           90000

我们需要添加用于运行Mongo服务的用户帐户。通常,它是mongodb用户。

答案 1 :(得分:1)

对我来说,由于数据目录中某些文件的所有权不正确而发生此错误。我使用以下命令修复了这个问题:

sudo chown -R mongodb: /path/to/db/directory

在我的情况下,mongodb是数据库用户。

答案 2 :(得分:0)

对于我来说,问题是我没有创建配置文件中指定的适当文件夹。