rabbitmq网络分区处理

1)故障现象

# rabbitmqctl cluster_status

Cluster status of node 'rabbit@server-45' ...

[{nodes,[{disc,['rabbit@VM1','rabbit@VM2','rabbit@VM3']}]}, 

{running_nodes,['rabbit@VM2']}, 

{partitions,[{'rabbit@VM2',['rabbit@VM1','rabbit@VM3']}]}]

...done.

注意倒数第二行的partitions行,出现两个[]括号,则代表rabbitmq出现网络分区,一个分区是vm2,另一个是vm1和VM3

2)故障原因

若发生了network partition,cluster中的双方(或多方)将独立存在,每一方都将认为其他方已经崩溃了。Queues、bindings、exchanges可以各自独立的创 建、删除。对于Mirrored queues,处于不同network partition的每一方都会拥有各自的master,且各自独立的读写。(也可能发生其他诡异的行为)。若network partition恢复了,cluster的状态并不能自动恢复到network partition发生前的状态,直至采取措施进行修复。

a. 网络不稳定;

b. rabbitmq node虚拟机异常,但是异常后,快速恢复;

3)解决思路

从mq集群中选取一个主节点,然后重启从节点的mq服务。

4)问题解决

在3台vm中分别运行

lsof -nP -i:5672 |wc -l

选取其中数量最大的当选为主节点。然后重新启动从节点服务。若从节点服务重新启动失败,运行命令强制重启

rabbitmqctl force_boot VM2




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值