RabbtiMQ集群:检查其他节点时,节点报告为closures

将RabbitMQ节点join群集之后,我们注意到群集中的其他节点将其标记为closures,处于警报状态:

root@rabbit2:# rabbitmqctl cluster_status Cluster status of node 'rabbit@rabbit2' ... [{nodes,[{disc,['rabbit@rabbit1','rabbit@rabbit2', 'rabbit@rabbit3']}]}, {running_nodes,['rabbit@rabbit1','rabbit@rabbit3','rabbit@rabbit2']}, {cluster_name,<<"[email protected]">>}, {partitions,[]}, {alarms,[{'rabbit@rabbitmq-1',[nodedown]}, {'rabbit@rabbitmq-3',[]}, {'rabbit@rabbitmq-2',[]}]}] 

检查问题的点头,没有问题:

 root@rabbit1:# rabbitmqctl cluster_status Cluster status of node 'rabbit@rabbitmq-1' ... [{nodes,[{disc,['rabbit@rabbit1','rabbit@rabbit2', 'rabbit@rabbit3']}]}, {running_nodes,['rabbit@rabbit2','rabbit@rabbit3','rabbit@rabbit1']}, {cluster_name,<<"[email protected]">>}, {partitions,[]}, {alarms,[{'rabbit@rabbit2',[]}, {'rabbit@rabbit3',[]}, {'rabbit@rabbit1',[]}]}] 

我们已经尝试清除rabbitmq的安装以及所有的erlang组件并重新开始,但是节点仍然给出相同的问题。

我遇到了同样的问题。 如何清除警报的唯一方法是从集群中删除节点并重新join。 但是警报在一段时间后再次出现,总是在同一个节点上。 奇怪的是,即使设置了这个警报,节点看起来也能正常工作。

我深入调查,可能find了解决办法:

  • 确保主机名称rabbit1,rabbit2和rabbit3可在所有群集主机上parsing。
  • 我已经禁用了一个集群主机上的ipv6(报告为closures)。 所有主机上的Ipv6设置(启用/禁用)应该是相同的。