一台mq节点在加入集群后退出了, 后面重新加入集群失败, 报如下错误:
RabbitMQ Node rabbit@rabbit01 thinks its clustered with node rabbit@rabbit03, but rabbit disagrees
原因: 主机集群认为该节点仍在集群中, 而该节点实际上退出集群了。 导致数据文件日志不一致,而无法加入集群。
解决:
- rabbit03 清理缓存
docker exec -it rabbit03 /bin/bash rabbitmqctl stop_app #删除 rm -rf /var/lib/rabbitmq/mnesia # 如果映射本地磁盘,本地磁盘对应目录最好也要删除
- 主节点中将该节点移除集群
docker exec -it rabbit01 /bin/bash rabbitmqctl forget_cluster_node rabbit@rabbit03
- rabbit03加入集群
docker exec -it rabbit03 /bin/bash # --disc 是以磁盘方式加入集群, --ram是内存节点 # rabbitmqctl join_cluster --disc rabbit@rabbit01 rabbitmqctl join_cluster --ram rabbit@rabbit01 rabbitmqctl start_app