systemd无法启动MongoDB

erhoui1w  于 2023-10-16  发布在  Go
关注(0)|答案(3)|浏览(143)

我从官方网站下载了MongoDB。我还写了systemd脚本在ubuntu 15.10上运行它。直到今天,它一直工作得很好。但是今天,如果我尝试启动MongoDB,它适用于CA。30秒后关机在日志文件中,我看到以下内容:

"[signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends"

下面是我的systemd脚本:

[Unit]
Description= MongoDB Server
After=network.target

[Service]
Type=forking
RemainAfterExit=yes
User=mongodb
Group=mongodb
PIDFile=/server/mongodb-server/mongod.pid
ExecStart=/server/mongodb-server/bin/mongod -f /server/mongodb-server/mongodb.conf

[Install]
WantedBy=multi-user.target

我试图删除“mongod.lock”,但有相同的结果。今天,如果我尝试启动Mongodb“sudo service mogodb start”,它只会挂起。30秒,然后回答:

Job for mongodb.service failed because a timeout was exceeded.

会有什么问题呢?

lf3rwulv

lf3rwulv1#

我在CentOS主机上遇到过类似的问题。根本原因是mongo在启动时有很多事情要做,启动花了4分47秒。
肮脏的黑客变通方法是添加

TimeoutStartSec=400

到/usr/lib/systemd/system/mongod.service,然后是systemctl daemon-reload,然后是start,能够在超时之前完成。
正确的解决方法是优化mongo中的数据,这样启动就不会花5分钟。

vulvrdjw

vulvrdjw2#

问题是文件命名不一致:在“mongodb.service”中

PIDFile=/server/mongodb-server/mongod.pid

在“/server/mongodb-server/mongodb.conf”中

pidFilePath: "/server/mongodb-server/mongodb.pid"
zdwk9cvp

zdwk9cvp3#

当我以root身份运行mongod时,我也遇到了类似的问题,而mongod已经在systemd下运行了。
当我这样做的时候,/var/lib/mongo下的.lock和.turtle文件不再被mongod打开,mongodb也不会在systemd下启动,只能手动使用“mongod -f -f /etc/mongod.conf”
修复方法:

rm /var/lib/mongo/WiredTiger.lock /var/lib/mongo/mongod.lock
chown -R mongod:mongod /var/lib/mongo/*

相关问题