上一篇介紹了如何安裝RabbitMQ,下面介紹如何搭建RabbitMQ集群境蜕。
- 使用上篇?jiǎng)?chuàng)建的虛擬機(jī)復(fù)制新的虛擬rabbitmq3
復(fù)制虛擬機(jī).png
設(shè)置新的文件名:centos_rabbitmq_3
虛擬機(jī)文件名.png
選擇“完全復(fù)制”
完全復(fù)制.png - 配置centos_rabbitmq_3的網(wǎng)絡(luò)模式习贫,使虛擬機(jī)之間能夠通信。如下圖所示,打開(kāi)virtual box的個(gè)人偏好設(shè)置茫陆,在網(wǎng)絡(luò)選項(xiàng)中,添加“僅主機(jī)(host-only)網(wǎng)絡(luò)選項(xiàng)“擎析。
添加網(wǎng)卡.png
接著設(shè)置centos_rabbitmq_3的網(wǎng)絡(luò)選項(xiàng)簿盅,添加第2個(gè)網(wǎng)卡。如下圖
添加網(wǎng)卡.png - 啟動(dòng)rabbitmq3虛擬機(jī)揍魂,如下圖所示桨醋,由于是根據(jù)虛擬機(jī)rabbitmq2的復(fù)制,因此主機(jī)名相同现斋。
主機(jī)名.png
修改主機(jī)名喜最,使用命令
vi /etc/hostname
修改hostname文件@2x.png
重啟虛擬機(jī)(命令:reboot),可以看到下圖庄蹋,主機(jī)名已改瞬内。
新主機(jī)名.png - 查看主機(jī)rabbitmq3的局域網(wǎng)ip,使用命令
ip address
局域網(wǎng)ip.png
如果發(fā)現(xiàn)局域網(wǎng)IP與其它其它虛擬機(jī)相同,則關(guān)閉虛擬機(jī)限书,修改rabbitmq3的網(wǎng)卡2下配置的mac地址虫蝶,如下圖:
設(shè)置mac地址.png - 執(zhí)行rabbitmq狀態(tài),執(zhí)行命令:rabbitmqctl status倦西。如下圖:
rabbitmq節(jié)點(diǎn)狀體啊.png
由于rabbitmq3是復(fù)制的能真,因此rabbitmq節(jié)點(diǎn)的配置還是rabbitmq2虛擬機(jī)上的配置。由于配置與機(jī)器主機(jī)名不一致,導(dǎo)致啟動(dòng)失敗粉铐。因此使用如下方式修改節(jié)點(diǎn)名稱疼约,在/etc/rabbitmq文件夾下,修改rabbitmq-env.conf文件(如果沒(méi)有蝙泼,則創(chuàng)建此文件)忆谓,如下圖:
編輯節(jié)點(diǎn)名稱1.png
文件內(nèi)容是:NODENAME=rabbit3@rabbitmq3
編輯節(jié)點(diǎn)2.png
重啟虛擬機(jī),再次執(zhí)行:rabbitmqctl status,檢查消息節(jié)點(diǎn)是否正常踱承,如下圖:
消息節(jié)點(diǎn)正常.png -
修改虛擬機(jī)的hosts文件倡缠,保證虛擬機(jī)之間能夠通過(guò)機(jī)器名訪問(wèn),如下圖:
修改hosts文件
ping.png - 檢查防火墻配置茎活,保證rabbitmq集群使用的端口都能正常訪問(wèn)昙沦。執(zhí)行如下命令查看防火墻配置:view /etc/sysconfig/iptables
檢查防火墻配置.png
如果沒(méi)有此文件,則可以使用如下命令安裝防火墻:
yum install iptables
yum install iptables-server
如果配置文件有修改载荔,則修改完成后執(zhí)行如下命令:
systemctl restart iptables
8.檢查rabbitmq3當(dāng)前節(jié)點(diǎn)的集群狀態(tài)盾饮,執(zhí)行如下命令:
rabbitmqctl cluster_status
結(jié)果如下圖:
加入集群前狀態(tài).png
9.停止rabbitmq3的消息節(jié)點(diǎn),并重置配置懒熙。執(zhí)行如下命令:
rabbitmqctl stop_app
rabbitmqctl reset
10.在rabbitmq3虛擬機(jī)上丘损,執(zhí)行如下命令把消息節(jié)點(diǎn)加入rabbitmq1的集群。
rabbitmqctl join_cluster rabbit1@rabbitmq1
結(jié)果如下圖:
加入集群.png
11.在rabbitmq3虛擬機(jī)上工扎,執(zhí)行如下命令檢查集群狀態(tài):
rabbitmqctl cluster_status
結(jié)果如下圖:
rabbitmq3節(jié)點(diǎn)集群狀態(tài)1.png - 在主磁盤節(jié)點(diǎn)rabbitmq1虛擬機(jī)上徘钥,執(zhí)行如下命令檢查集群狀態(tài)
rabbitmqctl cluster_status
結(jié)果如下圖:
主磁盤節(jié)點(diǎn)rabbitmq1的集群狀態(tài).png
至此,一個(gè)簡(jiǎn)單的rabbitmq集群搭建完成肢娘。在產(chǎn)線環(huán)境環(huán)境下呈础,需要做很多其它節(jié)點(diǎn)配置項(xiàng)。
[在平時(shí)使用啟動(dòng)虛擬機(jī)集群時(shí)經(jīng)常出現(xiàn)rabbitmq節(jié)點(diǎn)無(wú)法啟動(dòng)橱健,可以使用如下命令重啟當(dāng)前rabbitmq節(jié)點(diǎn):
systemctl restart rabbitmq-server.service
]