RabbitMQ 镜像集群队列_集群高可用篇_03
文章目錄
- 一、普通集群搭建
- 1. 停止 全部 MQ服務(wù)節(jié)點(diǎn)
- 2. 文件(.erlang.cookie)同步
- 3. 組成集群操作
- 3. slave 加入集群操作
- 4. 查看集群狀態(tài)
- 5. 訪問管控臺(tái)界面
- 二、配置鏡像隊(duì)列
- 2.1. 鏡像隊(duì)列思路
- 2.2. 策略執(zhí)行
- 2.3. 登錄管控臺(tái)查看配置的策略信息
一、普通集群搭建
1. 停止 全部 MQ服務(wù)節(jié)點(diǎn)
在3臺(tái)mq服務(wù)器上都執(zhí)行以下命令:
rabbitmqctl stop2. 文件(.erlang.cookie)同步
文件同步思路: 選擇115、117、118任意一個(gè)節(jié)點(diǎn)為Master(這里選擇115為Master), 簡(jiǎn)言之:需要把115的Cookie文件同步到117、118節(jié)點(diǎn)上去,進(jìn)入/var/lib/rabbitmq目錄下,把.erlang.cookie文件copy到各個(gè)slave節(jié)點(diǎn)下具體流程:
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. 組成集群操作
集群思路: 配置115、117、118為集群模式,3個(gè)節(jié)點(diǎn)(115、117、118)執(zhí)行啟動(dòng)命令, 后續(xù)啟動(dòng)集群使用此命令即可重新啟動(dòng)3臺(tái)mq服務(wù),以下命令都執(zhí)行一次
#啟動(dòng)rabbitmq服務(wù) rabbitmq-server -detached查看RabbitMQ服務(wù)是否啟動(dòng)
lsof -i :56723. slave 加入集群操作
(重新加入集群也是如此,以最開始的主節(jié)點(diǎn)為加入節(jié)點(diǎn))
ps:注意做這個(gè)步驟的時(shí)候:需要配置/etc/hosts 必須相互能夠?qū)ぶ返?/p>
#在mq-02服務(wù)器上停止mq服務(wù)
[root@mq-02 ~]# rabbitmqctl stop_app
#將mq-02 加入集群
[root@mq-02 ~]# rabbitmqctl join_cluster --ram rabbit@mq-01
#重新啟動(dòng)mq服務(wù)
[root@mq-02 ~]# rabbitmqctl start_app#在mq-03服務(wù)器上停止mq服務(wù)
[root@mq-03 ~]# rabbitmqctl stop_app
#將mq-03 加入集群
[root@mq-03 ~]# rabbitmqctl join_cluster --ram rabbit@mq-01
#重新啟動(dòng)mq服務(wù)
[root@mq-03 ~]# rabbitmqctl start_app注://在另外其他節(jié)點(diǎn)上操作要移除的集群節(jié)點(diǎn),和上面的命令正好相反
rabbitmqctl forget_cluster_node rabbit@mq-01
修改集群名稱
PS:修改集群名稱(任意節(jié)點(diǎn))(默認(rèn)為第一個(gè)node名稱):
4. 查看集群狀態(tài)
PS:最后在集群的任意一個(gè)節(jié)點(diǎn)執(zhí)行命令:查看集群狀態(tài)
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 磁盤存儲(chǔ)方式 ram 內(nèi)存存儲(chǔ)方式 2. mq-01 磁盤存儲(chǔ) mq-02和mq-03內(nèi)存存儲(chǔ) 3. cluster_name 集群名稱5. 訪問管控臺(tái)界面
PS: 訪問任意一個(gè)管控臺(tái)節(jié)點(diǎn):http://192.168.0.115:15672
二、配置鏡像隊(duì)列
2.1. 鏡像隊(duì)列思路
思路: 1.鏡像集群只是在普通集群的基礎(chǔ)上添加一些策略而已 2.設(shè)置鏡像隊(duì)列策略(在任意一個(gè)節(jié)點(diǎn)上執(zhí)行) 3. ^ 表示同步全部,個(gè)性化策略根據(jù)需求而定2.2. 策略執(zhí)行
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'說明:
上面命令是將所有隊(duì)列設(shè)置為鏡像隊(duì)列,即隊(duì)列會(huì)被復(fù)制到各個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)狀態(tài)一致,RabbitMQ高可用集群就已經(jīng)搭建好了,我們可以重啟服務(wù),查看其隊(duì)列是否在從節(jié)點(diǎn)同步。
2.3. 登錄管控臺(tái)查看配置的策略信息
到此RabbitMQ 鏡像集群搭建完成!!!
總結(jié)
以上是生活随笔為你收集整理的RabbitMQ 镜像集群队列_集群高可用篇_03的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STS安装 activiti-desig
- 下一篇: ajax前台传json到后台解析的方法以