我从官方网站下载了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.
会有什么问题呢?
3条答案
按热度按时间lf3rwulv1#
我在CentOS主机上遇到过类似的问题。根本原因是mongo在启动时有很多事情要做,启动花了4分47秒。
肮脏的黑客变通方法是添加
到/usr/lib/systemd/system/mongod.service,然后是
systemctl daemon-reload
,然后是start
,能够在超时之前完成。正确的解决方法是优化mongo中的数据,这样启动就不会花5分钟。
vulvrdjw2#
问题是文件命名不一致:在“mongodb.service”中
在“/server/mongodb-server/mongodb.conf”中
zdwk9cvp3#
当我以root身份运行mongod时,我也遇到了类似的问题,而mongod已经在systemd下运行了。
当我这样做的时候,/var/lib/mongo下的.lock和.turtle文件不再被mongod打开,mongodb也不会在systemd下启动,只能手动使用“mongod -f -f /etc/mongod.conf”
修复方法: