標籤:host 設定檔 存在 叢集配置 conf users 點列 密鑰 status
一、在叢集機器上安裝erlang環境、安裝rabbitmq;
二、 假設,192.168.10.111的節點名稱為 [email protected],192.168.10.112的節點名稱為 [email protected]
1.分別在兩台機器的rabbitmq資料、記錄檔所在路徑下(本文為C:\Users\Administrator\AppData\Roaming\RabbitMQ),建立叢集設定檔rabbitmq.config。
rabbitmq.config是一個標準的erlang設定檔。它必須符合erlang設定檔的標準。
它既有預設的目錄,也可以在rabbitmq-env.conf檔案中配置。
內容為(包括最後的.):
[{rabbit,[{cluster_nodes, [‘[email protected]‘, ‘[email protected]‘]}]}].
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內容為:
[email protected]
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內容為:
[email protected]
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 [email protected]
rabbitmqctl start_app
上述命令先停掉rabbitmq應用,reset叢集狀態,然後調用cluster命令,將H1-PC串連到H2-PC,使兩者成為一個叢集,最後重啟rabbitmq應用。在這個cluster命令下,H1-PC是記憶體節點,H2-PC是磁碟節點(RabbitMQ啟動後,預設是磁碟節點)。
如果要使H1-PC在叢集裡也是磁碟節點,那麼更改上述第3句如下:
rabbitmqctl cluster [email protected] [email protected]
只要在節點列表裡包含了自己,它就成為一個磁碟節點。在RabbitMQ叢集裡,必須至少有一個磁碟節點存在。
6.在H1-PC和H2-PC上,運行rabbitmqctl cluster_status命令查看叢集狀態.
Cluster status of node ‘[email protected]‘...
[{nodes,[{disc,[‘[email protected]‘]},{ram,[‘[email protected]‘]}]},
{running_nodes,[‘[email protected]‘,‘[email protected]‘]}]
...done.
Windows環境下 RabbitMQ叢集配置