RabbitMQ集群筆記

2021-12-30 11:05:47 字數 2757 閱讀 8676

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...