在搭建MongoDB(版本 3.2.9)的Replica Set时,使用 rs.status() 查看Replica Set的状态,发现一个成员异常:replica set IDs do not match,详细信息是:
"lastHeartbeatMessage" : "replica set IDs do not match, ours: xxx; remote node's: yyy",
"stateStr" : "(not reachable/healthy)"
尝试了各种方法,在Primary 节点中,不能删除该成员;将该成员的mongod重启,强制Primay重新配置,都无法同步该成员的replica set ID。
--primary rs.remove("host:port") --restart use admin db.shutdownServer() --reconfigure rs.reconfig(conf,{force:true})
最后一招,必杀技,将该MongoDB Instance的数据文件全部删除,然后在replica set 的 primary 节点中,重新添加该成员,终于将Replica Set 搭建成功。
rs.add("host:port")
在MongoDB中,replica set的配置信息存储在local 数据库的system.replset集合中,MongoDB无法同步replica set的ID,这很让人纠结。
作者:
悦光阴
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。