rabbit@node2‘ thinks it‘s clustered with node ‘rabbit@node1‘, but ‘rabbit@node1‘ disagrees

两个rabbitmq节点rabbit@node1,rabbit@node2。

集群搭建完成后,下线rabbit@node2,
node2上执行rabbitmqctl stop 停止该节点上的服务。
node1上执行rabbitmqctl forget_cluster_node rabbit@node2。

之后尝试启动rabbit@node2时,报错rabbit@node2' thinks it's clustered with node 'rabbit@node1', but 'rabbit@node1' disagrees。
如果是用docker部署,可能要看容器日志。


事实上forget_cluster_node不是常规的下线节点的方式,这是一种强制剔除节点的方式。只适用于被剔除节点不再使用的情况。官网:https://www.rabbitmq.com/docs/clustering#forced-boot

正常下线节点请使用这种方式https://www.rabbitmq.com/docs/clustering#removing-nodes


上面的报错是因为rabbit@node2停止服务后,重新启动还认为自己在集群中,而rabbit@node1上执行了forget_cluster_node,认为rabbit@node2不属于集群。

自己搜索下线集群节点,基本都是用forget_cluster_node,真是害人不浅。遇到问题还是要多看官网文章啊。


另外我搭建的集群,集群名称默认不是第一个节点的集群名称,而还是各自rabbit@<本机hostname>,不知道为什么。跟下线集群节点一直出现上面的问题,我还以为我集群搭建的有问题。困扰我好久。

另另外,我join_cluster的时候报了三个错

01:43:06.545 [error] Failed to create a tracked connection table for node :rabbit@rabbitmq2: {:node_not_running, :rabbit@rabbitmq2}

01:43:06.545 [error] Failed to create a per-vhost tracked connection table for node :rabbit@rabbitmq2: {:node_not_running, :rabbit@rabbitmq2}

01:43:06.545 [error] Failed to create a per-user tracked connection table for node :rabbit@rabbitmq2: {:node_not_running, :rabbit@rabbitmq2}

我还以为又失败了呢,实际上是成功了的,抓狂!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值