本文根據:http://www.360doc.com/content/15/0312/17/20874412_454622619.shtml整理而來
RabbitMQ具有很好的消息傳遞性能,同時又是開源軟件,使用范圍較廣。
因為自己使用的是Windows系統,因此簡而言之入手點自然就是RabbitMQ提供的bat文件了。RabbitMQ提供了5個bat文件,分別是:rabbitmq-service.bat,rabbitmq-server.bat,rabbitmq-plugins.bat,rabbitmq-echopid.bat以及rabbitmqctl.bat。我們先從rabbitmq-server.bat和rabbitmqctl.bat入手。
我們准備搭建的是擁有兩個Node節點的Cluster,這里分別取名Cluster-Node1和ClusterNode2。每個Node當然要有自己的bat文件啦,因此以上兩個bat就變成了4個:
rabbitmq-server-cluster-1.bat,rabbitmq-server-cluster-2.bat,rabbitmqctl-cluster-1.bat和rabbitmqctl-cluster-2.bat。這里就說一下如何修改吧。
1.配合Hosts文件
需要修改Windows中的hosts文件。既然要在一台機器上模擬兩個Node,那么自然要配置一下兩個Node的ip了,在hosts文件中添加如下兩段:
127.0.0.1 Cluster-Node1
127.0.0.1 Cluster-Node2
保存。
2.修改rabbitmq-server.bat
在rabbitmq-server*中添加
set RABBITMQ_CONFIG_FILE="C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.2\etc\cluster-1" //其中路徑為當前節點的config文件所在路徑
該參數主要用於配置RabbitMQ的Config文件,默認情況下*-server.bat中不包含該路徑,所以需要手工創建。在Config文件中可以配置RabbitMQ的各種參數,對以后的學習研究很有幫助。這里第二個參數便是設置了Config文件的路徑。
然后再添加(或者直接修改也是ok的)
set RABBITMQ_NODENAME=rabbit1@Cluster-Node1
在單機環境下配置RabbitMQ集群時候要保證每一個節點都具有唯一的節點名稱和端口號。該語句就是設置RabbitMQ節點的節點名稱。
注意:在RabbitMQ中@符號將節點標識符(rabbit1@Cluster-Node1)分為兩個部分。左邊是ERlang的應用程序名稱,右邊是服務器主機名或者IP地址。
然后修改節點端口號:
set RABBITMQ_NODE_PORT=9991
最后
set RABBITMQ_DIST_PORT=15672
這樣rabbitmq-server的兩個文件就修改完了,點擊保存。
3.修改Rabbitmqctl.bat
在rabbitmqctl-cluster-*中修改.這兩個文件就很簡單了:
set RABBITMQ_NODENAME=rabbit1@Cluster-Node1
4. 創建集群
首先,先運行rabbitmqctl-cluster-*文件,將兩個server啟動起來。之后運行rabbitmqctl-cluster-2 stop_app,將Node2先掛起來。再運行
rabbitmqctl-cluster-2 join_cluster rabbit1@Cluster-Node1
這樣就將Node2加入了Node1的集群。
注意:在加入新節點時,首先要停止Erlang節點上運行的RabbitMQ程序,並重設(清空)它們的元數據。這樣它們才能被加入並獲取集群的元數據。
5.激活節點
rabbitmqctl-cluster-2 start_app
6. 查看集群狀態

其中DISC節點代表磁盤節點,RAM代表內存節點。
