MongoDB:错误:子进程失败,已退出,错误号为14
我在Mac上运行MongoDB:MongoDB:错误:子进程失败,已退出,错误号为14,mongodb,Mongodb,我在Mac上运行MongoDB: Shave:mongodb_simple Logan$ ./bin/mongod -f conf/mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 5110 ERROR: child process failed, exited with error number 14 这是因为我以错误的方式关闭了它吗?
Shave:mongodb_simple Logan$ ./bin/mongod -f conf/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 5110
ERROR: child process failed, exited with error number 14
这是因为我以错误的方式关闭了它吗?这是因为您没有在传递给
-f
选项的配置文件中正确配置mongod
实例。
重新访问配置文件,确保所有配置都正确。您以错误的方式启动并关闭了mongo 1。要启动MONGODB 要在后台启动mongo,请键入:
mongod--dbpath/data/db--fork--logpath/dev/null
是数据库的位置。如果您还没有创建一个=>键入:/data/db
mkdir/data/db
表示您希望在后台启动mongo-deamon李>--fork
表示您不想登录-您可以通过将--logpath/dev/null
替换为类似/dev/null
/var/log/mongo.log的路径来更改它
mongo
,然后使用admin和db.shutdownServer()连接到您的mongo。喜欢解释吗
如果由于某种原因此技术不起作用,您可以随时终止此过程
通过键入:lsof-i:27017
查找mongodb进程PID
,假设您的mongodb在端口27017上运行
键入kill
,将
替换为在上一个命令中找到的值李>
我也有同样的问题,但我的问题是系统时钟关闭,所以我的SSL证书在技术上是无效的。更改为当前工作日期和时间date--set”“
仅通过查看mongodb日志发现此问题对于我来说,这是ulimit
问题,mongo无法打开太多文件
已使用ulimit-n 10000
然而,作为一个通用指针查看mongo日志文件时,它们会告诉我们在哪里可以进一步查看。通常,日志文件位于/var/log/mongo.log
中,但请查看您的mongo配置文件。这对我来说很有用:
运行终端
sudo rm -rf mongod.lock
export LC_ALL=C
然后
通过将/var/lib/mongodb/
下的所有文件的所有者更改为mongodb
,它开始为我工作:
chown mongodb:mongodb -R /var/lib/mongodb/
我在GCP托管计算引擎实例中遇到了此问题。
由于这是谷歌搜索该问题的最佳答案,因此我将包括对我有用的内容,并且是MongoDB()中记录的bug
在linux系统上,如果运行mongod的用户没有设置语言环境或语言环境配置错误,mongod将无法开始打印堆栈跟踪
通过结合以下几个步骤可以解决此问题:
安装所需的语言包():
运行更新区域设置():
重新启动会话,然后再次检查相同的mongo命令
如果上面的操作不起作用(我没有),只需手动将以下内容添加到文件/etc/default/locale
():
要欣赏没有关于LC_ALL未设置的持续警告,请运行以下命令:
就这些,您的MongoDB实例现在应该可以运行了 检查文件的所有权/tmp/mongodb-27017.sock
它应该是mongod
。我收到了相同的错误,因为它是root:root检查mongod是否使用pgrep mongod
或ps-aef | grep mongod
或systemctl status mongod
停止并重新启动以检查问题是否消失
如果您使用mongod-f/etc/mongod.conf
启动mongod,则使用pkill-9 mongod
杀死它,然后使用mongod-f/etc/mongod.conf
如果您将其作为服务运行,请使用systemctl restart mongod
重新启动它
如果重启不起作用,请通过/var/log/message
和/var/log/mongodb/mongod.log
文件找出问题所在。
使用tail-f/var/log/message
和tail-f/var/log/mongodb/mongod.log
检查操作时的输出
for example:
1.
Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted
delete the sock file with `rm`
2.
WiredTiger error (13) [1596090168:830936][25997:0x7fe22f208b80], wiredtiger_open: __posix_open_file, 672: /data/mongo/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1596090168:830936][25997:0x7fe22f208b80], wiredtiger_open: __posix_open_file, 672: /data/mongo/WiredTiger.turtle: handle-open: open: Permission denied
Failed to start up WiredTiger under any compatibility version
Reason: 13: Permission denied
check the file permission or owner with `ls` then change to the wright permission with `chmod` or right owner with `chown`
在我的mongodb设置中,为了将特定版本的mongodb内联到现有服务器,并避免将二进制文件放在根磁盘下,我更改了不同目录中所有mongo二进制文件的路径。我不得不使用rpm
选项,而不是yum
选项(因为尽管提到了特定版本,但yum只安装最新版本)
注意:放置二进制文件的默认路径是/var/lib/mongo
这种方法既不允许mongod
用户具有所需的权限,也不允许未正确设置其权限,因此,我将mongod.service
文件中的user
和group
更改为root
用户,并使用以下方法成功启动该过程:
service start mongod
使用-关机
mongod --shutdown
然后
成功了
与我一起删除文件:/tmp/mongodb-27017.sock
然后重新启动mongodUhh这是我的mongo.conf:port=12345 dbpath=data logpath=log/mongod.log fork=true
@Luster看起来你不是用YAML写的[格式。是这样吗?当我遇到这个错误时,是因为我的/tmp/mongodb-27017.sock
文件属于root
。即使是-v
选项也无助于解决它。我最终删除了所有配置文件信息,因此它使用了默认值,然后它最终给了我正确的错误消息。如果侦听套接字是错误的,例如,如果将其配置为绑定到::1
,即使禁用了IPv6,在日志文件中,例如var/log/mongodb/mongod.log
中,您会发现类似于“无法为套接字分配请求的地址”的行.在我的情况下,这是因为root
拥有/var/lib/mongo
中的一些文件是的,这是我的情况,我在运行一个虚拟机,然后我的笔记本突然冻结。因为我刚刚创建了两个测试,所以我摆脱了
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
sudo dpkg-reconfigure locales
for example:
1.
Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted
delete the sock file with `rm`
2.
WiredTiger error (13) [1596090168:830936][25997:0x7fe22f208b80], wiredtiger_open: __posix_open_file, 672: /data/mongo/WiredTiger.turtle: handle-open: open: Permission denied Raw: [1596090168:830936][25997:0x7fe22f208b80], wiredtiger_open: __posix_open_file, 672: /data/mongo/WiredTiger.turtle: handle-open: open: Permission denied
Failed to start up WiredTiger under any compatibility version
Reason: 13: Permission denied
check the file permission or owner with `ls` then change to the wright permission with `chmod` or right owner with `chown`
rpm -ivh --prefix=/apps/mongodb /apps/mongo_rpm_packages/mongodb-org-*.rpm
service start mongod
mongod --shutdown
service mongod restart