RabbitMQ 镜像集群队列_集群高可用篇_03

停止 全部 MQ服务节点

rabbitmqctl stop

文件(.erlang.cookie)同步步骤
PS:选择115、117、118任意一个节点为Master(这里选择115为Master),也就是说我们需要把115的Cookie文件同步到117、118节点上去,进入/var/lib/rabbitmq目录下,把.erlang.cookie文件copy到各个slave节点下

scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/

组成集群操作
PS:接下来我们就可以使用集群命令,配置115、117、118为集群模式,3个节点(115、117、118)执行启动命令,后续启动集群使用此命令即可

rabbitmq-server -detached

查看RabbitMQ服务是否启动

lsof -i :5672

slave 加入集群操作(重新加入集群也是如此,以最开始的主节点为加入节点)
ps:注意做这个步骤的时候:需要配置/etc/hosts 必须相互能够寻址到

[root@mq-02 ~]# rabbitmqctl stop_app
[root@mq-02 ~]# rabbitmqctl join_cluster --ram rabbit@mq-01
[root@mq-02 ~]# rabbitmqctl start_app

[root@mq-03 ~]# rabbitmqctl stop_app
[root@mq-03 ~]# rabbitmqctl join_cluster --ram rabbit@mq-01
[root@mq-03 ~]# rabbitmqctl start_app

注://在另外其他节点上操作要移除的集群节点
rabbitmqctl forget_cluster_node rabbit@mq-01

修改集群名称
PS:修改集群名称(任意节点)(默认为第一个node名称):

rabbitmqctl set_cluster_name rabbitmq_cluster1

查看集群状态
PS:最后在集群的任意一个节点执行命令:查看集群状态

rabbitmqctl cluster_status

输出日志:

[root@mq-02 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@mq-02 ...
[{nodes,[{disc,['rabbit@mq-01']},{ram,['rabbit@mq-03','rabbit@mq-02']}]},
 {running_nodes,['rabbit@mq-03','rabbit@mq-01','rabbit@mq-02']},
 {cluster_name,<<"rabbitmq_cluster1">>},
 {partitions,[]},
 {alarms,[{'rabbit@mq-03',[]},{'rabbit@mq-01',[]},{'rabbit@mq-02',[]}]}]

注:
1. disc 磁盘存储方式  ram 内存存储方式
2. mq-01 磁盘存储  mq-02和mq-03内存存储
3. cluster_name 集群名称

在这里插入图片描述
访问管控台界面
PS: 访问任意一个管控台节点:http://192.168.0.115:15672
在这里插入图片描述
配置镜像队列
PS:设置镜像队列策略(在任意一个节点上执行)

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

PS:将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态一致,RabbitMQ高可用集群就已经搭建好了,我们可以重启服务,查看其队列是否在从节点同步。

登录管控台查看配置的策略信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 9747779 查看本文章

到此RabbitMQ 镜像集群搭建完成!!!

发布了898 篇原创文章 · 获赞 123 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/weixin_40816738/article/details/104774010