使用HAProxy+KeepAlived搭建高可用RabbitMQ集群出现脑裂问题

使用HAProxy+KeepAlived搭建高可用RabbitMQ集群出现脑裂问题

1.问题现象

两台服务器133(master)和134(backup)均绑定了VIP
在这里插入图片描述
在这里插入图片描述

2.排查过程

  • 查看backup节点的日志信息,可以发现backup节点在启动后先进入backup状态,然后马上又进入了master状态,并绑定了VIP

    tail -100 /var/log/messages
    

使用HAProxy+KeepAlived搭建高可用RabbitMQ集群出现脑裂问题_第1张图片

  • 使用tcpdump工具进行抓包,发现两个节点都在进行广播,正常情况应该只有master才进行VRRP广播。

    tcpdump -i ens33 vrrp -n       # ens33为网卡名称
    

在这里插入图片描述
在这里插入图片描述

3.解决方法

两个节点都关闭防火墙

# 1、关闭firewall
systemctl stop firewalld.service  #停止firewall
systemctl disable firewalld.service #禁止Firewalls开机启动
# 2、安装iptables
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑配置文件
# 3、配置文件中添加 -A INPUT -p vrrp -j ACCEPT,注意这行一定要放到reject的前面,否则会不起作用
# 4、重启
systemctl restart iptables.service #重启
systemctl enable iptables.service #开机启动

使用HAProxy+KeepAlived搭建高可用RabbitMQ集群出现脑裂问题_第2张图片

4.结果

master节点:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SrvR9VId-1578715878820)(C:\Users\huoyq\AppData\Roaming\Typora\typora-user-images\image-20200111120519431.png)]

backup节点:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CnOTA3Yw-1578715878820)(C:\Users\huoyq\AppData\Roaming\Typora\typora-user-images\image-20200111120601143.png)]

5. 原因分析

防火墙过滤掉了VRRP消息,导致backup节点无法接收到master的消息,也就无法得知VIP已经绑定了master,因此自己会进入master的状态,并绑定VIP

你可能感兴趣的:(RabbitMQ)