九、RabbitMQ的叢集安裝
阿新 • • 發佈:2019-04-23
概述
理解RabbitMQ的叢集原理可能需要花點功夫,但是配置RabbitMQ的叢集則非常容易。
注意
如果有防火牆,請提前開放相關埠:
- client端通訊口5672
- 管理口15672
- server間內部通訊口25672
- erlang發現口:4369
步驟
1.修改hosts檔案
在三個節點的hosts分別加入叢集節點的配置資訊:
# 修改hosts檔案
vi /etc/hosts
# 加入叢集節點
192.168.0.101 rabbitmq01
192.168.0.102 rabbitmq02
192.168.0.103 rabbitmq03
2.同步erlang.cookie檔案
在192.168.0.101節點執行:
# 將rabbitmq01節點的erlang.cookie同步到rabbitmq02和rabbitmq03
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq02:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq03:/var/lib/rabbitmq/.erlang.cookie
也可以手動拷貝。
3.重啟rabbitmq01節點的rabbitmq服務
在192.168.0.101節點執行:
# 重啟rabbitmq服務 systemctl restart rabbitmq-server
4.建立叢集
在192.168.0.102節點執行:
# 停止rabbitmq
rabbitmqctl stop_app
# 重置節點
rabbitmqctl reset
# 加入rabbitmq01
rabbitmqctl join_cluster rabbit@rabbitmq01
# 啟動應用
rabbitmqctl start_app
在192.168.0.103節點執行:
# 停止rabbitmq rabbitmqctl stop_app # 重置節點 rabbitmqctl reset # 加入rabbitmq01 rabbitmqctl join_cluster rabbit@rabbitmq01 # 啟動應用 rabbitmqctl start_app
如果你要加入的節點型別是記憶體直接,可以執行:
rabbitmqctl join_cluster --ram rabbit@rabbitmq01
5.檢視叢集狀態
# 檢視叢集狀態
rabbitmqctl cluster_status
結果:
[root@rabbitmq01 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq01 ...
[{nodes,[{disc,[rabbit@rabbitmq01,rabbit@rabbitmq02,rabbit@rabbitmq03]}]},
{running_nodes,[rabbit@rabbitmq03,rabbit@rabbitmq02,rabbit@rabbitmq01]},
{cluster_name,<<"rabbit@rabbitmq01">>},
{partitions,[]},
{alarms,[{rabbit@rabbitmq03,[]},
{rabbit@rabbitmq02,[]},
{rabbit@rabbitmq01,[]}]}]
6.也可以在控制檯中檢視