RabbitMQ 3.9.7 鏡像模式集群的搭建


1. 概述

老話說的好:做人腳踏實地,一步一個腳印,便定能戰勝一切困難,最終取得成功!!!

 

言歸正傳,之前我們聊了 RabbitMQ 單點服務的安裝,今天我們來聊聊 RabbitMQ 3.9.7 鏡像模式集群的搭建。

RabbitMQ 的鏡像模式集群能夠保證數據100%不丟失,實際工作中用的最多,實現也很簡單,通常由3個節點組成。

 

2. 場景說明

服務器A IP:192.168.1.22

服務器B IP:192.168.1.8

服務器C IP:192.168.1.144

 

服務器A hostname:zhuifengren1 

服務器B hostname:zhuifengren2

服務器C hostname:zhuifengren3 

 

這三台服務器都已經安裝了 RabbitMQ 3.9.7,並啟動正常。

單點 RabbitMQ 的安裝,可參見我的另一篇文章《RabbitMQ3.9.7在CentOS7中的安裝搭建》。

 

3. 鏡像模式集群的搭建

3.1 修改三台機器的名稱,並在hosts中進行設置(機器名稱隨意)

# vi /etc/hostname 

 

 

 

 

# vi /etc/hosts 

 

 

 

3.2 啟動3台服務器上的 RabbitMQ 服務

 # /sbin/service rabbitmq-server start

 

3.3 在啟動狀態下,將服務器A上的 .erlang.cookie文件 拷貝到 服務器B 和 服務器C 上

# scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.8:/var/lib/rabbitmq/

# scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.144:/var/lib/rabbitmq/

 

3.4 使用 rabbitmqctl stop 命令停止3台服務器的RabbitMQ服務

# rabbitmqctl stop

注意:這里不能使用之前的 /sbin/service rabbitmq-server stop 命令,停止服務

 

如果出現無法停止的情況,可嘗試使用 /sbin/service rabbitmq-server stop 命令停止后,再使用 /sbin/service rabbitmq-server start 命令啟動,

然后再使用 rabbitmqctl stop 命令停止。

 

3.5 使用 rabbitmq-server -detached 命令啟動3台服務器

(有些慢,耐心等待,可以使用 lsof -i:5672 命令查看是否啟動)

# rabbitmq-server -detached

 

3.6 將從節點加入集群

我們這里將 服務器A 作為主節點,將 服務器B、服務器C 作為從節點

在 服務器B 和 服務器C 執行以下操作:

# rabbitmqctl stop_app

# rabbitmqctl reset

# rabbitmqctl join_cluster rabbit@zhuifengren1

# rabbitmqctl start_app

 

3.7 配置鏡像模式 

在任意節點執行即可。

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

 

3.8 查看集群狀態

# rabbitmqctl cluster_status

 

 

3.9 控制台效果

 

 

 

 

 

3.10 從集群中移除節點

1)在需要移除的節點上執行停止命令

# rabbitmqctl stop_app

2)在其他節點上執行移除節點命令

# rabbitmqctl forget_cluster_node rabbit@zhuifengren2

 

4. 綜述

今天聊了一下 RabbitMQ 3.9.7 鏡像模式集群的搭建,希望可以對大家的工作有所幫助。

歡迎幫忙點贊、評論、轉發、加關注 :)

關注追風人聊Java,每天更新Java干貨。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM