在Windows中单机环境下创建RabbitMQ集群

本文根据: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代表内存节点。

posted @ 2016-06-27 11:24  简单爱_wxg  阅读(2075)  评论(2编辑  收藏  举报