安装MongoDB的(子进程失败,错误号为100退出)(install mongoDB (child

2019-08-22 04:02发布

我想在我的MacBook Air上安装MongoDB的。

我从官方网站下载的压缩文件,并提取文件,并移动到根目录下。 在此之后,该目录下,我做了/数据/ db和/日志文件夹。

这里是我的mongodb.config它描述了我的数据库的基本配置。

dbpath = /mongodb/data/db
logpath = /mongodb/log/mongo.log
logappend = true
#bind ip = 127.0.0.1
port = 27017

fork = true
rest = true
verbose = true
#auth = true
#noauth = true

此外,我想知道什么#在配置文件中表示。

我把这个文件到/mongodb/bin/mongodb是我提取文件到该目录中。

我打开终端,进入./mongod --config mongodb.config和我得到这个回来。

Juneyoung-ui-MacBook-Air:bin juneyoungoh$ ./mongod --config mongodb.config
about to fork child process, waiting until server is ready for connections.
forked process: 1775
all output going to: /mongodb/log/mongo.log
ERROR: child process failed, exited with error number 100

我该如何处理这个错误,这是什么意思?

Answer 1:

您所创建的数据文件夹是非常有可能与创建sudo ,是吗? 他们所拥有的root ,并非全由你的普通用户可写的。 如果你是你的MacBook的唯一用户,然后更改目录到你的所有权:

sudo chown juneyoungoh /data
sudo chown juneyoungoh /data/db
sudo chown juneyoungoh /data/log

如果您打算在公共机器或某个合法上安装这一点,那么阅读更多关于蒙戈其他地方的安全做法。 我就把你对你的MacBook上运行。



Answer 2:

我也有类似的问题,这是不相关的任何“须藤”的问题。 我试图从内核恐慌中恢复!

当我看到我的数据文件夹中,我发现了一个mongod.lock文件在那里。 在我的情况下,该页面帮助了很多: http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/ 。 当他们解释,

如果mongod.lock不是一个零字节的文件,然后mongod的将拒绝启动。

我测试了在我的环境中,该解决方案,它完美的作品:

  1. 删除mongod.lock文件。
  2. 修复数据库: mongod --dbpath /your/db/path --repair
  3. 运行的mongod: mongod --dbpath /your/db/path


Answer 3:

有我的机器上同样的问题。 在日志文件是:

周一09年7月29日:57:13.689 [initandlisten]错误:没有足够的可用的日志文件空间
周一09年7月29日:57:13.689 [initandlisten]请提供至少3379MB在/ var / mongoexp / RS2 /期刊或使用--smallfiles

它是通过使用解决mongod --smallfiles 。 或者,如果你开始与--config选项的mongod比由配置文件禁用预写日志nojournal=true (去掉开头#)。 一些更多的磁盘空间也将解决上述问题。



Answer 4:

用同样的错误类似的问题-我试图运行修复脚本sudo -u mongodb mongod -f /etc/mongodb.conf --repair

经过ps aux | grep mongo ps aux | grep mongo并看到守护进程正在运行。 停止,然后修复脚本没有问题运行。

希望能对别人有帮助的。



Answer 5:

这是因为你可能不关机的MongoDB正确,你是不是开始的MongoDB的正确途径。 根据您的mongodb.config ,你有dbpath = /mongodb/data/db -所以我假设你创建的存储库/mongodb/data/db ? 让我澄清一下所有步骤。

  1. TO START的MongoDB

在您的mongodb.config改变dbpath = /mongodb/data/dbdbpath = /data/db 。 :在你的终端,通过命令创建数据库存储库mkdir /data/db 。 现在你有一个仓库 - 你就可以开始你的蒙戈。

在后台型启动蒙戈: mongod --dbpath /data/db --fork --logpath /dev/null

  • /data/db是分贝的位置。
  • --fork意味着你要在后台启动蒙戈-守护进程。
  • --logpath /dev/null意思你不希望记录-您可以通过更换改变/dev/null像一个路径/var/log/mongo.log

    1. 关机的MongoDB

通过键入连接到您的蒙戈: mongo ,然后use admindb.shutdownServer() 如同解释的MongoDB

如果这种技术不适用于某些原因,你可以随时终止该进程。

查找MongoDB的进程PID通过键入: lsof -i:27017假设你的MongoDB是运行在端口27017

kill <PID>替换<PID>由你发现前一命令的值。



Answer 6:

我对Linux的版本(CentOS)同样的错误,这为我工作

  1. 从DBPATH删除mongod.lock

    $ rm /var/lib/mongo/mongod.lock

  2. 修复过程中的mongod

    $ mongod --repair

  3. 运行的mongod配置

    $ mongod --config /etc/mongod.conf



Answer 7:

我有同样的错误。 我跑了交互式查看日志。

2014-10-21T10:12:35.418-0400 [initandlisten] ERROR: listen(): bind() failed errno:48 Address already in use for socket: 0.0.0.0:27017

然后我用lsof找出使用我的端口哪个进程。

$ lsof -i:27017
COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mongod  2106 MYUSERID   10u  IPv4 0x635b71ec3b65b4a1      0t0  TCP *:27017 (LISTEN)

这是一个mongod ,我以前分叉时忘了关闭(因为我还没有看到它在我的bash窗口中运行)。 简单的通过运行杀死它kill 2106 ,使我的过程中没有错误100运行。



Answer 8:

一般来说,当mongod.conf文件无法找到Oracle数据库的存储或日志存储或可能的ProcessID店一定的路径,或也许它没有得到访问已在mongod的被宣布的配置目录和文件的文件权限此错误出现.conf文件

要解决这个错误,我们需要观察由MongoDB中生成的日志将清楚地表明你的MongoDB是否该文件或目录无法访问

上述错误可能看起来像下面的截图



Answer 9:

在您的服务器“/”路径创建文件夹“数据”和“DB”里面。 其实你应该创建或修改的数据将被保存的文件夹的权限!



文章来源: install mongoDB (child process failed, exited with error number 100)