MQ的集群首先需要搭建erlang集群
1.把cat /root/.erlang.cookie 内容改为一致
cat /root/.erlang.cookie
2.更改cookie文件权限
chmod 400 /root/.erlang.cookie
3.停止操作机器节点
rabbitmqctl stop_app
4.加入集群,如果需要持久化,不用加--ram,直接采用disk节点就好
rabbitmqctl join_cluster --ram rabbit@cgvch-ptmq2
5.启动节点
rabbitmqctl start_app
6. 设置镜像队列策略
在任意一个节点上执行:
# rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一直。
完成这 6 个步骤后,RabbitMQ 高可用集群就已经搭建好了,最后一个步骤就是搭建均衡器。
注意事项,以A加入B为例,假设B是在运行的生产机器
1、操作集群一定要保证cookie的内容和权限一致,cookie路径 /var/lib/rabbitmq/.erlang.cookie,A和B必须要一致
2、要先停止A上所有节点 rabbitmqctl stop_app
3、加入集群命令 rabbitmqctl join_cluster --ram rabbit@B
4、启动节点 rabbitmqctl start_app
5、不需要在集群B上执行加入A的命令