mongoDB - Linux 服务启动/关闭失败(可能是非正常关闭)

mongoDB - Linux 服务启动/关闭失败(可能是非正常关闭)

Linux 管理不是我的强项,所以我在这方面有点不知所措。

系统信息:

/proc/version -> Linux 版本 2.6.18-028stab091.2

/etc/debian_version-> 5.0.8

每当服务器关闭并重新启动时,MongoDB 都不会启动。看来 mongod 没有干净地关闭。.lock 文件仍然存在,我无法手动将其启动,除非我删除它并运行 --repair。如果我查看 mongod 的日志文件,我看不到关闭序列,它只是从查询转到启动。

Wed Jul 13 17:57:49 [conn1] update ps.profiles  query: { blah blah blah } 224ms
Thu Jul 14 07:07:51 MongoDB starting : pid=1167 port=27017 dbpath=/srv/db/ProfileServer 64-bit

我可以看到脚本已经到位,可以处理关机和重启:

$ ls -l /etc/rc0.d/*mongodb
lrwxrwxrwx 1 root root 17 Feb 17 09:46 /etc/rc0.d/K20mongodb -> ../init.d/mongodb
$ ls -l /etc/rc2.d/*mongodb
lrwxrwxrwx 1 root root 17 Feb 17 09:46 /etc/rc2.d/S20mongodb -> ../init.d/mongodb
$ ls -l /etc/rc6.d/*mongodb
lrwxrwxrwx 1 root root 17 Feb 17 09:46 /etc/rc6.d/K20mongodb -> ../init.d/mongodb

我知道这些脚本是有效的。通过运行

sudo /etc/init.d/mongodb stop
sudo /etc/init.d/mongodb start

我在日志中看到

... various other shutdown messages ...
Thu Jul 14 08:42:06 [interruptThread] shutdown: removing fs lock...
Thu Jul 14 08:42:06 dbexit: really exiting now
Thu Jul 14 08:42:12 MongoDB starting : pid=3184 port=27017 dbpath=/srv/db/ProfileServer 64-bit

我是不是做了一些明显错误的事情?有没有日志文件可以让我追踪运行级别的变化?

答案1

我已经使用 10gen repos 中的打包版本成功完成了这项工作:

http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages

我怀疑这里的问题是关闭是如何发生的,以及它要等待多长时间才能杀死 mongo 进程。如果你不想费心安装包只是为了查看一些初始化脚本,请前往 github 并查看源代码(开源数据库的优势之一 :))

https://github.com/mongodb/mongo/blob/master/rpm/init.d-mongod

与您自己的初始化脚本进行比较和对比并进行设置,以查看哪里可能出了问题。

相关内容