
接著上一篇單機(jī)部署的繼續(xù)進(jìn)行集群部署。
部署準(zhǔn)備
- 3臺(tái)CentOS 7的虛擬機(jī),主機(jī)名分別設(shè)置為node-1、node-2、node-3
- HOSTS文件都配置3個(gè)的主機(jī)名IP映射
- 按照單機(jī)部署的方式,每臺(tái)機(jī)器上都進(jìn)行RabbitMQ的單機(jī)部署
普通集群部署
暫定node-1為主節(jié)點(diǎn),node-2,node-3為從節(jié)點(diǎn)進(jìn)行集群部署
- 由于RabbitMQ是依附于erlang進(jìn)行通信,想要通信必須有相同的.erlang.cookie文件
查找該文件的路徑
find / -name *.cookie
將node2,node3下的文件進(jìn)行重命名,然后利用命令,將node-1下的文件copy到另外的兩個(gè)節(jié)點(diǎn)。
scp /var/lib/rabbitmq/.erlang.cookie 192.168.8.117:/var/lib/rabbitmq/
將三臺(tái)機(jī)器的cookie文件進(jìn)行權(quán)限的賦權(quán)
chmod 400 /var/lib/rabbitmq/.erlang.cookie
- 重啟服務(wù)
重新啟動(dòng)mq,這里需要注意,如果重新啟動(dòng)失敗,可以kill掉所有和RabbitMQ相關(guān)的進(jìn)程,然后在通過(guò)start命令進(jìn)行啟動(dòng)
service rabbitmq-server restart
- 從節(jié)點(diǎn)設(shè)置
rabbitmqctl stop_app
rabbitmqctl reset
## --ram 指定內(nèi)存節(jié)點(diǎn)類型,--disc指定磁盤(pán)節(jié)點(diǎn)類型
rabbitmqctl join_cluster --ram rabbit@node-2
rabbitmqctl start_app
- 查看狀態(tài)
任意節(jié)點(diǎn)進(jìn)行狀態(tài)的查看
rabbitmqctl cluster_status

-
界面查看
鏡像集群開(kāi)啟
-
在主節(jié)點(diǎn)下創(chuàng)建一個(gè)vhost:my-vhost
可以看到exchange的界面
- 主節(jié)點(diǎn)下設(shè)置策略
rabbitmqctl set_policy -p my-vhost ha "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
3.查看界面效果

-
新增queue
在任意的節(jié)點(diǎn)新增queue
其他節(jié)點(diǎn)查看
節(jié)點(diǎn)的移除
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app




