rabbitmq集群筆記
1.伺服器選擇
hostname ip
node1 192.168.20.171
node2 192.168.20.172
node3 192.168.20.173
2.在三颱伺服器上分別修改配置
(1) 修改/etc/hosts
192.168.20.171 node1
192.168.20.172 node2
192.168.20.173 node3
(2) 修改/etc/sysconfig/network
hostname=node1 #node1伺服器
hostname=node2 #node2伺服器
hostname=node3 #node3伺服器
(3) 設定hostname
hostname node1 #node1伺服器
hostname node2 #node2伺服器
hostname node3 #node3伺服器
3.修改erlang.cookie,使三颱伺服器保持一致
3.1通過遠端複製檔案(scp)或者直接複製內容均是可以的
3.2erlang.cookie介紹
erlang.cookie是erlang實現分布式的必要檔案,erlang分布式的每個節點上要保持相同的.erlang.cookie檔案,同時保證檔案的許可權是400。
官方在介紹集群的文件中提到過.erlang.cookie一般會存在這兩個位址:第乙個是$home/.erlang.cookie;第二個地方就是/var/lib/rabbitmq/.erlang.cookie。
如果我們使用解壓縮方式安裝部署的rabbitmq,那麼這個檔案會在$目錄下,也就是$home/.erlang.cookie。
如果我們使用rpm等安裝包方式進行安裝的,那麼這個檔案會在/var/lib/rabbitmq目錄下。
4.每個節點上都安裝好erlang和rabbitmq,注意別啟動rabbitmq即第5步之後不執行(參考rabbitmq快速入門.txt)
設定好erlang.cookie之後,後台啟動rabbitmq-server
/usr/local/rabbitmq-3.6.6/sbin/rabbitmq-server start & 啟動rabbitmq
檢視各節點狀態:/usr/local/rabbitmq-3.6.6/sbin/rabbitmqctl cluster_status
5、把node2、node3分別加入到集群node1中(rabbitmqctl stop_app ---僅關閉應用,節點不被關閉)
(1) node2
./rabbitmqctl stop_app
./rabbitmqctl join_cluster rabbit@node1
./rabbitmqctl start_app
(2) node3
./rabbitmqctl stop_app
./rabbitmqctl join_cluster rabbit@node1
./rabbitmqctl start_app
此時 node2 與 node3 也會自動建立連線;如果要使用記憶體節點,則可以使用
node2#./rabbitmqctl join_cluster --ram rabbit@node1 加入集群。
6、檢視集群情況
./rabbitmqctl cluster_status
cluster status of node rabbit@node3 ...},,
,,,,]}]
7.設定映象佇列策略
在任意乙個節點上執行:#./rabbitmqctl set_policy ha-all "^" ''
將所有佇列設定為映象佇列,即佇列會被複製到各個節點,各個節點狀態保持一直。
完成這 7 個步驟後,rabbitmq 高可用集群就已經搭建好了,最後乙個步驟就是搭建均衡器。
8.安裝並配置 haproxy(未測試)
在192.168.20.174上安裝 haproxy,然後修改 /etc/haproxy/haproxy.cfg:
listen rabbitmq_cluster 0.0.0.0:5672
mode tcp
balance roundrobin
server node1 192.168.1.1:5672 check inter 2000 rise 2 fall 3
server node2 192.168.1.2:5672 check inter 2000 rise 2 fall 3
server node2 192.168.1.3:5672 check inter 2000 rise 2 fall 3
8.退出集群
例:在node3(退出節點)上執行
#./rabbitmqctl stop_app
#./rabbitmqctl reset
#./rabbitmqctl start_app
在主節點node1上執行
rabbitmqctl forget_cluster_node rabbit@node3
9.改變節點形式
./rabbitmqctl stop_app
./rabbitmqctl change_cluster_node_type disc/ram(二選一)
./rabbitmqctl start_app
10.集群重啟
rabbitmq集群重啟時,最後乙個掛掉的節點應該第乙個重啟,否則起不起來。
rabbitmq集群配置
rabbitmq是乙個輕量級的訊息服務系統,切記它只是乙個類似信件郵遞員的功能,而不是快遞,不用把它當成redis在用。一 rabbitmq軟體安裝 1.erlang安裝 安裝erlang,載入官方提供的yum源,然後直接安裝。最新版本的rabbitmq直接依賴erlang,安裝esl erlang...
Rabbitmq 建立集群
更改host 兩台主機rabbit1 192.168.1.112,rabbit2 192.168.1.113 host配置如下 rabbit1 192.168.1.112 rabbit2 192.168.1.113 同步erlang.cookie 將rabbit1 c users erlang.co...
安裝rabbitmq集群
一.安裝 erlang rabbitmq 在10.0.0.45 10.0.0.57 10.0.0.58三個節點上安裝,然後開啟 rabbitmq 監控外掛程式 以下在root使用者操作 1.etc hosts增加 10.0.0.45 node1 10.0.0.57 node2 10.0.0.58 n...