MongoDB 的初始化脚本更改

MongoDB 的初始化脚本更改

我们在独立和集群模式下生产环境中使用了 MongoDB(版本 3.0)。目前我们面临的问题基本上是这样的:

检测到不正常关机因此无法启动 mongod。

  1. 经过调试,我们发现 mongod 在(ps 的 O/p -> ie)中显示了不同的 pid
ps -eo pid,cmd | grep "/usr/bin/mongod" | grep -v "grep" | awk '{print $1}') and there was different pid in /var/run/mongodb/mongod.pid.
  1. 在第二种情况下,测试团队执行了多次重启操作,在这种情况下,我们遇到了 mongod 处于运行状态但 pid 文件丢失的情况。

对于第一种情况,我们只需更改初始化脚本来检查正在运行的 PID 是否与现有的 PID 不同,mongod.pid然后只需将正在运行的 PID 写入mongod.pid文件中。

任何有助于理解这些场景的帮助都将非常感激。

答案1

出现这种情况的原因有以下几点:这个错误这听起来与您的情况非常接近(并且根据票证,在 3.0 的后续版本中已修复)。

还有一个事实是,一些守护进程需要使用fork=false为了正常工作并获得正确的 PID,请参阅服务器-7254更多信息请见这里。

这是最可能的两个原因,可能需要更具体的信息(MongoDB 的确切版本、操作系统等)才能尝试重现其他问题。

相关内容