RabbitMQ 集群部署方法
RabbitMQ
- 環(huán)境準備:三臺服務器,系統(tǒng)是 CentOS7
- IP地址分別是:
- rabbitmq1:192.168.152.71
- rabbitmq2:192.168.152.72
- rabbitmq3:192.168.152.73
一、安裝 RabbitMQ
記得配置yum源,避免不必要的錯誤
在三臺服務器上分別安裝 erlang 和 rabbitmq-server
安裝 RabbitMQ 運行環(huán)境
yum install -y erlang
安裝軟件 RabbitMQ
yum install -y rabbitmq-server
二、更改配置文件
一下配置在三臺服務器上都要修改
更改 RabbitMQ 配置文件
vim /etc/rabbitmq/rabbitmq.config
找到 %%{loopback_users, []}, 改為下面內(nèi)容,大概在 53 行
{loopback_users, []}更改 hosts 配置主機名解析
192.168.152.71 rabbitmq1 192.168.152.72 rabbitmq2 192.168.152.73 rabbitmq3
可以 ping 一下看是否配置成功
三、配置集群
改主機名,對照 hosts 配置的主機名解析,把對用服務器的主機名改為相應的解析
如:192.168.152.71
hostnamectl set-hostname rabbitmq1
192.168.152.72
hostnamectl set-hostname rabbitmq2
192.168.152.73
hostnamectl set-hostname rabbitmq3
然后全部都 exit 重新登錄
啟動三臺服務器的 RabbitMQ 服務
systemctl start rabbitmq-server systemctl enable rabbitmq-server
統(tǒng)一三臺服務器的 erlang.cookie,把 rabbitmq1 的 erlang.cookie 傳輸?shù)狡渌鼉膳_
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/.erlang.cookie scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/.erlang.cookie
運行 cat /var/lib/rabbitmq/.erlang.cookie,查看三臺服務器的值是否一致,一致后再重啟 rabbitmq2 和 rabbitmq3 的 RabbitMQ 服務
systemctl restart rabbitmq-server
查看 RabbitMQ 的節(jié)點狀態(tài)
rabbitmqctl cluster_status
結果如下即為正確
# rabbitmq1 的結果:
Cluster status of node rabbit@rabbitmq1 ...
[{nodes,[{disc,[rabbit@rabbitmq1]}]},
{running_nodes,[rabbit@rabbitmq1]},
{cluster_name,<<"rabbit@rabbitmq1">>},
{partitions,[]}]
...done.
# rabbitmq2 的結果:
Cluster status of node rabbit@rabbitmq2 ...
[{nodes,[{disc,[rabbit@rabbitmq2]}]},
{running_nodes,[rabbit@rabbitmq2]},
{cluster_name,<<"rabbit@rabbitmq2">>},
{partitions,[]}]
...done.
# rabbitmq3 的結果:
Cluster status of node rabbit@rabbitmq3 ...
[{nodes,[{disc,[rabbit@rabbitmq3]}]},
{running_nodes,[rabbit@rabbitmq3]},
{cluster_name,<<"rabbit@rabbitmq3">>},
{partitions,[]}]
...done.停止 rabbitmq2 和 rabbitmq3 主機的 RabbitMQ 應用
rabbitmqctl stop_app
讓 rabbitmq2 和 rabbitmq3 加入 rabbitmq1 的集群
rabbitmqctl join_cluster rabbit@rabbitmq1
啟動 rabbitmq2 和 rabbitmq3 主機的 RabbitMQ 應用,并再次查看 RabbitMQ 的節(jié)點狀態(tài)
rabbitmqctl start_app
再三臺服務器上執(zhí)行 rabbitmqctl cluster_status 命令,結果就會變?yōu)橄旅孢@樣
# rabbitmq1 的結果:
Cluster status of node rabbit@rabbitmq1 ...
[{nodes,[{disc,[rabbit@rabbitmq1,rabbit@rabbitmq2,rabbit@rabbitmq3]}]},
{running_nodes,[rabbit@rabbitmq2,rabbit@rabbitmq3,rabbit@rabbitmq1]},
{cluster_name,<<"rabbit@rabbitmq1">>},
{partitions,[]}]
...done.
# rabbitmq2 的結果:
Cluster status of node rabbit@rabbitmq2 ...
[{nodes,[{disc,[rabbit@rabbitmq1,rabbit@rabbitmq2,rabbit@rabbitmq3]}]},
{running_nodes,[rabbit@rabbitmq1,rabbit@rabbitmq3,rabbit@rabbitmq2]},
{cluster_name,<<"rabbit@rabbitmq1">>},
{partitions,[]}]
...done.
# rabbitmq3 的結果:
Cluster status of node rabbit@rabbitmq3 ...
[{nodes,[{disc,[rabbit@rabbitmq1,rabbit@rabbitmq2,rabbit@rabbitmq3]}]},
{running_nodes,[rabbit@rabbitmq2,rabbit@rabbitmq1,rabbit@rabbitmq3]},
{cluster_name,<<"rabbit@rabbitmq1">>},
{partitions,[]}]
...done.此時集群配置成功
四、測試
可以可以啟用 RabbitMQ 可視化web管理插件,更直觀的看到集群狀態(tài),也方便測試
三臺服務器都要開啟
rabbitmq-plugins enable rabbitmq_management systemctl restart rabbitmq-server
通過IP地址加端口號訪問,端口號為 15672
如:192.168.152.71:15672,默認的用戶名:guest,密碼:guest

可以再其中一臺添加用戶,看其它幾臺是否有變化,有則配置成功

到此這篇關于RabbitMQ 集群部署方法的文章就介紹到這了,更多相關RabbitMQ 集群部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot上傳文件并配置本地資源映射來訪問文件的實例代碼
這篇文章主要介紹了SpringBoot上傳文件并配置本地資源映射來訪問文件的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
mybatis配置文件簡介_動力節(jié)點Java學院整理
這篇文章主要為大家詳細介紹了mybatis配置文件簡介的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Springboot允許logger.debug輸出日志方式
這篇文章主要介紹了Springboot允許logger.debug輸出日志方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
java利用Apache commons codec進行MD5加密,BASE64加密解密,執(zhí)行系統(tǒng)命令
這篇文章主要介紹了java利用apache Commons包進行MD5加密,BASE64加密解密與執(zhí)行系統(tǒng)命令希望對大家有用2017-12-12
詳解@Autowired(required=false)注入注意的問題
這篇文章主要介紹了@Autowired(required=false)注入注意的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
Mybatis Order by動態(tài)參數(shù)防注入方式
這篇文章主要介紹了Mybatis Order by動態(tài)參數(shù)防注入方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04

