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

一、普通集群搭建

1. 停止 全部 MQ服务节点

在3台mq服务器上都执行以下命令:

rabbitmqctl stop

2. 文件(.erlang.cookie)同步

文件同步思路:
选择115117118任意一个节点为Master(这里选择115为Master),
简言之:需要把115的Cookie文件同步到117118节点上去,进入/var/lib/rabbitmq目录下,把.erlang.cookie文件copy到各个slave节点下

具体流程:

scp /var/lib/rabbitmq/.erlang.cookie root@192.168.0.117:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.0.118:/var/lib/rabbitmq/

3. 组成集群操作

集群思路:
配置115117118为集群模式,3个节点(115117118)执行启动命令,
后续启动集群使用此命令即可

重新启动3台mq服务,以下命令都执行一次

#启动rabbitmq服务
rabbitmq-server -detached

查看RabbitMQ服务是否启动

lsof -i :5672

3. slave 加入集群操作

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

#在mq-02服务器上停止mq服务
[root@mq-02 ~]# rabbitmqctl stop_app
#将mq-02 加入集群
[root@mq-02 ~]# rabbitmqctl join_cluster --ram rabbit@mq-01
#重新启动mq服务
[root@mq-02 ~]# rabbitmqctl start_app

#在mq-03服务器上停止mq服务
[root@mq-03 ~]# rabbitmqctl stop_app
#将mq-03 加入集群
[root@mq-03 ~]# rabbitmqctl join_cluster --ram rabbit@mq-01
#重新启动mq服务
[root@mq-03 ~]# rabbitmqctl start_app

注://在另外其他节点上操作要移除的集群节点,和上面的命令正好相反
rabbitmqctl forget_cluster_node rabbit@mq-01

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

rabbitmqctl set_cluster_name rabbitmq_cluster1

4. 查看集群状态

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 集群名称

在这里插入图片描述

5. 访问管控台界面

PS: 访问任意一个管控台节点:http://192.168.0.115:15672
在这里插入图片描述

二、配置镜像队列

2.1. 镜像队列思路

思路:
1.镜像集群只是在普通集群的基础上添加一些策略而已
2.设置镜像队列策略(在任意一个节点上执行)
3. ^ 表示同步全部,个性化策略根据需求而定

2.2. 策略执行

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

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

2.3. 登录管控台查看配置的策略信息

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

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

已标记关键词 清除标记
相关推荐
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> 互联网工作者,MQ消息开发者,运维工作者,IT类开发人员,Java等开发人员,Web开发人员 </p> </div> <p> <br /> </p> 课程概述 <p> 课程概述<br /> 【收获是什么?】<br />    三部曲之单机部署+集群部署:本课程属于其中的单机版本的单独授课,同步最新的RabbitMQ官网3.8.x的版本教学,互联网的前沿倡导者和实践者。 <br /> 【收获是什么?】<br />      学完之后,能独立搭建最新版本的RabbitMQ通用版本。所有的资料详细供给。<br /> 【RabbitMQ是什么?】<br />       我们在双11的夜晚购物和12306抢票,当我们凌晨大量的秒杀和抢购商品或者火车票,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给用户。这就是MQ的功劳,属于并发的必要组件,当我们在结算的时候,并不会一窝蜂一样涌入收银台,而是排队结算。这也是队列机制。对于解耦,削峰,并发的必要学习内容.....<br /> 【为什么学习?】 </p> <p>    互联网的消息中间件必不可少,rabbitmq在消息中间中举足轻重,属于必学组件。 </p> <p> <img src="https://img-bss.csdn.net/201910151504357905.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201910151505039571.png" alt="" /> </p>
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:白松林 返回首页