rabbitmq一个节点无法加入集群的排查-(inconsistent_cluster)

原环境是三个节点组成的rabbitmq的mirror集群,node-1节点因为服务器重启,无法自动加入集群,后来在node-2节点做了rabbitmqctl forget_cluster_node rabbit@node-1的操作,将node-1节点移除出了集群,打算将node-1做reset之后在手工加入集群。做了此操作后,在node-2和node-3节点查看集群状态均正常,但是启动node-1节点rabbitmq服务时,始终无法启动,启动报错如下:inconsistent_cluster,"Node 'rabbit@node-1' thinks it's clustered with node 'rabbit@node-3', but 'rabbit@node-3' disagrees"}}。


     

如上图,node-2和node-3查看集群状态,node-1的节点信息已经删除。



如上图,node-1节点rabbitmq服务始终无法启动



问题分析,从node-1的启动报错来看,像是集群信息残留。在node-2上操作将node-1移除集群,node-1的rabbitmq服务已经down掉了,所以数据库无法同步更新,记载的仍是旧的集群信息(数据库记录里自身节点仍属于集群),而node-2和node-3的数据库记录已经更新(数据库信息里面集群不包含node-1节点了)。


解决方法:

      删除node-1的数据库记录。

如上图,删除node-1的数据库记录后,加入集群正常。



参考  http://www.rabbitmq.com/man/rabbitmqctl.1.man.html


 

posted @ 2017-09-22 17:42  360linux  阅读(1563)  评论(0编辑  收藏  举报