【发布时间】:2012-01-29 01:21:18
【问题描述】:
我有一个带有两个生产节点的 RabbitMQ 集群,集群因以下错误消息而中断:
=ERROR REPORT==== 23-Dec-2011::04:21:34 ===
** Node rabbit@rabbitmq02 not responding **
** Removing (timedout) connection **
=INFO REPORT==== 23-Dec-2011::04:21:35 ===
node rabbit@rabbitmq02 lost 'rabbit'
=ERROR REPORT==== 23-Dec-2011::04:21:49 ===
Mnesia(rabbit@rabbitmq01): ** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, rabbit@rabbitmq02}
我试图通过使用“tcpkill”终止两个节点之间的连接来模拟问题。集群已断开连接,令人惊讶的是两个节点并没有尝试重新连接!
当集群中断时,HAProxy 负载均衡器仍将两个节点标记为活动节点并向它们发送请求,尽管它们不在集群中。
我的问题:
-
如果节点被配置为集群工作,当我遇到网络故障时,他们为什么不尝试重新连接?
-
如何识别损坏的集群并关闭其中一个节点?分别使用两个节点时,我遇到了一致性问题。
【问题讨论】:
标签: cluster-computing rabbitmq