Windows環境下 RabbitMQ集羣配置

原文鏈接:http://www.cnblogs.com/hegx/p/6097147.html

一、在集羣機器上安裝erlang環境、安裝rabbitmq;

 

二、 假設,192.168.10.111的節點名稱爲 rabbit@H1-PC,192.168.10.112的節點名稱爲 rabbit@H2-PC

1.分別在兩臺機器的rabbitmq數據、日誌文件所在路徑下(本文爲C:\Users\Administrator\AppData\Roaming\RabbitMQ),創建集羣配置文件rabbitmq.config。

rabbitmq.config是一個標準的erlang配置文件。它必須符合erlang配置文件的標準。

它既有默認的目錄,也可以在rabbitmq-env.conf文件中配置。

內容爲(包括最後的.):

[{rabbit,[{cluster_nodes, ['rabbit@app118', 'rabbit@app119']}]}].

 

2.分別配置兩臺機器的host(C:\Windows\System32\drivers\etc目錄下)。

111:

192.168.10.111 H1-PC

192.168.10.112 H2-PC

 

112:

192.168.10.112 H2-PC

192.168.10.111 H1-PC

 

3.分別在兩臺機器的rabbitmq數據、日誌文件所在路徑下(本文爲C:\Users\Administrator\AppData\Roaming\RabbitMQ),創建rabbitmq環境變量的配置文件rabbitmq-env.conf。

192.168.10.111的rabbitmq-env.conf內容爲:

NODENAME=rabbit@H1-PC

NODE_IP_ADDRESS=192.168.10.111

NODE_PORT=5672

RABBITMQ_MNESIA_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\db

RABBITMQ_LOG_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\log

 

192.168.10.112的rabbitmq-env.conf內容爲:

NODENAME=rabbit@H2-PC

NODE_IP_ADDRESS=192.168.10.112

NODE_PORT=5672

RABBITMQ_MNESIA_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\db

RABBITMQ_LOG_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\log

 

4.將192.168.10.111的C:\Users\Administrator文件夾下的.erlang.cookie文件替換掉

192.168.10.112 C:\Users\Administrator和C:\Windows下的該文件(該文件是集羣節點進行通信的驗證密鑰,所有節點必須一致。反過來亦可)。

 

5.重啓兩臺機器的rabbitmq。

(1)192.168.10.112,在控制檯D:\RabbitMQ Server\rabbitmq_server-2.8.1\sbin 路徑下分別執行以下語句:

 

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl start_app

 

 (2) 192.168.10.111,在控制檯D:\RabbitMQServer\rabbitmq_server-2.8.1\sbin路徑下分別執行以下語句:

 

  rabbitmqctl stop_app

 

  rabbitmqctl reset

 

  rabbtimqctl join_cluster rabbit@H2-PC

 

  rabbitmqctl start_app

 

  上述命令先停掉rabbitmq應用,reset集羣狀態,然後調用cluster命令,將H1-PC連接到H2-PC,使兩者成爲一個集羣,最後重啓rabbitmq應用。在這個cluster命令下,H1-PC是內存節點,H2-PC是磁盤節點(RabbitMQ啓動後,默認是磁盤節點)。

 

     如果要使H1-PC在集羣裏也是磁盤節點,那麼更改上述第3句如下:

 

rabbitmqctl cluster rabbit@H2-PC rabbit@H1-PC

 

     只要在節點列表裏包含了自己,它就成爲一個磁盤節點。在RabbitMQ集羣裏,必須至少有一個磁盤節點存在。

 

 

6.在H1-PC和H2-PC上,運行rabbitmqctl cluster_status命令查看集羣狀態.

 

Cluster status of node 'rabbit@H1-PC'...

[{nodes,[{disc,['rabbit@H2-PC']},{ram,['rabbit@H1-PC']}]},

 {running_nodes,['rabbit@H2-PC','rabbit@H1-PC']}]

...done.

發佈了37 篇原創文章 · 獲贊 9 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章