CentOS7 搭建高可用RabbitMQ集羣

高可用集羣架構

服務器設置

角色 IP 組件
node101 192.168.153.101 rabbitmq + haproxy + keepalived
rnode102 192.168.153.102 rabbitmq + haproxy + keepalived
node103 192.168.153.103 rabbitmq

環境準備

1.使用虛擬機安裝CentOS7系統

2.調整網絡設置靜態IP192.168.153.101

3.安裝 Erlang 和RabbitMQ,可以參見https://my.oschina.net/liuyuantao/blog/4258593

4.安裝HAProxy和Keepalived

5.將虛擬機克隆出3份,分別調整ip、hostname和hosts

集羣搭建

1.修改hosts和hostname

三臺機器分別執行下面命令

vim /etc/hosts

添加

192.168.153.101 node101
192.168.153.102 node102
192.168.153.103 node103
vim /etc/hostname

刪除內容後,分別添加node101、node102、node103

2.以確保各個節點的cookie文件使用的是同一個值

在node101上執行遠程操作命令

scp /var/lib/rabbitmq/.erlang.cookie root@node102:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@node103:/var/lib/rabbitmq/.erlang.cookie

3.啓動RabbitMQ服務

順帶啓動Erlang虛擬機和RbbitMQ應用服務(在三臺節點上分別執行以下命令)

rabbitmq-server -detached

4.在節點node102執行

rabbitmqctl stop_app

注:rabbitmqctl stop會將Erlang虛擬機關閉,rabbitmqctl stop_app只關閉RabbitMQ服務

rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node101
rabbitmqctl start_app

5.在節點node103執行

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node101
rabbitmqctl start_app


 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章