集群失效的表现是:mongodb复制集已经彻底失效,集群已失去主节点,从节点也变成了其他状态,此时,使用正常方式已无法恢复集群,需要进行重建,但官方对重建方法没有单独给出处理步骤,只好另某他法,网络上有几篇文章的确描述了相同的情景,但处理步骤明显有问题,好在这些文章都提到了需要修改local库的内容,这隐隐给出了处理这个问题的关键点就是修改local库的内容。
最终的处理方法是也印证了这个猜测。详细的处理步骤是:
- 修改mongodb配置文件,注释掉复制集的相关配置参数;
- 重启mongodb服务;
- 删除local库中system.replset集合中的记录;
- 修改配置文件,恢复复制集相关的设置参数;
- 重启mongodb服务;
- 此时,就可以重新配置复制集了;
- 按照正常的配置方式,重新配置复制集;
- 根据数据量的大小,从节点同步数据所需的时间长短也不同,耐心等待从节点完成同步,复制集恢复正常。