MongoDB replica set IDs do not match

在搭建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,这很让人纠结。

 

posted @ 2016-09-08 21:05  悦光阴  阅读(4176)  评论(0编辑  收藏  举报