Centos7.3 RabbitMQ分布式集群搭建示例
本文介紹了Centos7.3 RabbitMQ分布式集群搭建示例,分享給大家,具體如下:
注意事項(xiàng)
centos 7.x 關(guān)閉firewall
三臺(tái)機(jī)器:
172.17.250.97 rabbiMQ01 172.17.250.98 rabbiMQ03 172.17.250.99 rabbiMQ02
配置 hosts
172.17.250.97 fz-rabbitMQ01 172.17.250.99 fz-rabbitMQ02 172.17.250.98 fz-rabbitMQ03
$ systemctl stop firewalld.service # 停止firewall
不想關(guān)閉防火墻,就開(kāi)放15672端口,設(shè)置之后可以通過(guò)網(wǎng)頁(yè)方式管理MQ
安裝安裝iptables防火墻
yum install iptables-services
添加配置
iptables -I INPUT -p tcp --dport 5672 -j ACCEPT iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
保存配置
service iptables save
重啟
systemctl restart iptables.service
設(shè)置開(kāi)機(jī)自啟動(dòng)
systemctl enable iptables.service
安裝
安裝 Erlang
RabbitMQ 安裝需要依賴 Erlang 環(huán)境
$ cd /usr/local/src $ wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm $ yum install erlang-19.0.4-1.el7.centos.x86_64.rpm -y
安裝 RabbitMQ
$ cd /usr/local/src $ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm $ yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm -y
僅僅rabbitMQ01運(yùn)行:
rabbitmq-server -detached
之后運(yùn)行
rabbitmqctl status
查看rabbitmq是否正常啟動(dòng)。
創(chuàng)建集群:
首先搞個(gè)密鑰認(rèn)證:
[root@fz-rabbitMQ01 src]# ssh-keygen [root@fz-rabbitMQ01 src]# ssh-copy-id -pXXXXX -i ~/.ssh/id_rsa.pub [email protected] [root@fz-rabbitMQ01 src]# ssh-copy-id -pXXXXX -i ~/.ssh/id_rsa.pub [email protected]
讀取rabbitMQ01節(jié)點(diǎn)的cookie, 并復(fù)制到其他節(jié)點(diǎn)(節(jié)點(diǎn)之間通過(guò)cookie確定相互是否可通信)。 cookie存放在/var/lib/rabbitmq/.erlang.cookie或者$HOME/.erlang.cookie中。
[root@fz-rabbitMQ01 src]# scp -PXXXXX /var/lib/rabbitmq/.erlang.cookie 172.17.250.99:/var/lib/rabbitmq /etc/bashrc:行94: soruce: 未找到命令 .erlang.cookie 100% 20 0.0KB/s 00:00 [root@fz-rabbitMQ01 src]# scp -PXXXXX /var/lib/rabbitmq/.erlang.cookie 172.17.250.98:/var/lib/rabbitmq /etc/bashrc:行94: soruce: 未找到命令 .erlang.cookie
逐個(gè)啟動(dòng)節(jié)點(diǎn)
rabbitmq-server -detached
建立集群
分別在rabbitMQ02和rabbitMQ03上面執(zhí)行即可
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@fz-rabbitMQ01 rabbitmqctl start_app
最后通過(guò)rabbitmqctl cluster_status查看集群的狀態(tài)信息:
[root@fz-rabbitMQ01 src]# rabbitmqctl cluster_status Cluster status of node 'rabbit@fz-rabbitMQ01' [{nodes,[{disc,['rabbit@fz-rabbitMQ01','rabbit@fz-rabbitMQ02', 'rabbit@fz-rabbitMQ03']}]}, {running_nodes,['rabbit@fz-rabbitMQ03','rabbit@fz-rabbitMQ02', 'rabbit@fz-rabbitMQ01']}, {cluster_name,<<"[email protected]">>}, {partitions,[]}, {alarms,[{'rabbit@fz-rabbitMQ03',[]}, {'rabbit@fz-rabbitMQ02',[]}, {'rabbit@fz-rabbitMQ01',[]}]}]
在訪問(wèn)web(http://xxx.xxx.xxx.xxx:15672)時(shí), 如果在Overview中的Nodes部分看到“Node statistics not available”的信息,說(shuō)明在該節(jié)點(diǎn)上web管理插件還未啟用。
3個(gè)節(jié)點(diǎn)都需要運(yùn)行:
[root@fz-rabbitMQ01 src]# rabbitmq-plugins enable rabbitmq_management The following plugins have been enabled: amqp_client cowlib cowboy rabbitmq_web_dispatch rabbitmq_management_agent rabbitmq_management Applying plugin configuration to rabbit@fz-rabbitMQ01... started 6 plugins.
遇到的問(wèn)題
Error: unable to connect to node '[email protected]': nodedown
解決方案:執(zhí)行如下兩條命令:
# /sbin/service rabbitmq-server stop # /sbin/service rabbitmq-server start
然后再次執(zhí)行:即可
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@fz-rabbitMQ01 rabbitmqctl start_app
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux定時(shí)任務(wù)Crontab命令使用詳解與總結(jié)
本為大家介紹了Linux定時(shí)任務(wù)Crontab命令使用詳解并總結(jié)Crontab命令的一些使用技巧以及工作中遇到的一些問(wèn)題解決方法2018-10-10在CentOS VPS上通過(guò)SSH安裝 MySQL的方法圖解
這篇文章主要介紹了在CentOS VPS上通過(guò)SSH安裝 MySQL,需要的朋友可以參考下2018-12-12CentOS使用expect批量遠(yuǎn)程執(zhí)行腳本和命令
這篇文章主要介紹了CentOS使用expect批量遠(yuǎn)程執(zhí)行腳本和命令,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06apache tomcat 一個(gè)網(wǎng)站多域名的實(shí)現(xiàn)方法
因此處是進(jìn)行多域名設(shè)置,所以 Apache 與 tomcat的結(jié)合沒(méi)有詳述,此處只是設(shè)置多域名的方法2009-02-02Apache 獲取真實(shí)ip的配置的實(shí)現(xiàn)方法
這篇文章主要介紹了Apache 獲取真實(shí)ip的配置的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10詳解Apache配置多個(gè)監(jiān)聽(tīng)端口和不同的網(wǎng)站目錄
這篇文章主要介紹了詳解Apache配置多個(gè)監(jiān)聽(tīng)端口和不同的網(wǎng)站目錄的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的方法,需要的朋友可以參考下2017-10-10Apache中如何設(shè)置默認(rèn)首頁(yè)具體該怎么操作
這篇文章主要介紹了Apache中設(shè)置默認(rèn)首頁(yè)的方法,需要的朋友可以參考下2014-02-02