背景
操作系统:CentOS 7.5
MongoDB:4.4.7
现网有mongodb分片集群共3个节点(3个分片副本集,不包括config副本集),后续因业务增长需扩容3个新节点(新增3个分片副本集)。扩容的服务器采用克隆原集群中node3节点的方式进行,故上线时只需进行部分配置修改即可。
现象
上线后集群6个节点均正常运行数月,突然有一天开始,新扩的3个节点中其中一个节点(node4)上运行的3个分片mongodb进程有一个down掉了。随后立即手动把down的进程启起来,查看分片进程对应的程序日志,操作系统日志等等,未发现任何异常报错信息,只能先观察。
在随后的时间里,新扩的3个节点(node4-6)上的mongodb进程会出现不规律的down的情况,且现象与第一次一样,没有任何错误日志信息,同时原有的3个节点(node1-3)未出现任何异常。为了减少人工每次去启动进程的工作,故在这3个节点上运行了定时任务去检查进程运行情况,若发生down的情况,自动去启起来,并记录日志。
分析
在集群异常的期间也翻看了网络上关于mongodb进程crash的案例,都没有相同的情况。分享出来的案例主要集中为两种情况:1. mongodb程序(OOM)导致操作系统杀掉进程;2. mongodb程序bug导致某种特定情况下引起崩溃。但是无论哪种情况,mongodb的日志或系统日志至少会有相应的错误信息。
处理
无奈只能选择将集群所有节点升级小版本到最新版4.4.18试试。然而,升级后仍然出现进程down的情况,此时只能祭出大招,重启服务器了。惊喜的是重启后观察半个月居然恢复正常,没有再次出现问题。。。
总结
遇到实在解决不了的问题重启一般有90%的概率可以解决。
标签:mongodb,down,报错,分片,进程,日志,节点 From: https://www.cnblogs.com/Before/p/17195538.html