RabbitMQ具有很好的消息传递性能,同时又是开源软件,使用范围较广。在学习的过程中,个人发现除了对Client端的代码框架、API特性以及异常处理需要加强学习外,在Server端最重要的就是对HA和集群的研究学习了。而在RabbitMQ中HA也非常的依赖于集群,因此集群就成为重中之重。 本人研究RabbitMQ完全出于兴趣,所以使用的都是自己的业余时间,所用的工具也就是一台笔记本而已,因此在本机上搭建一个RabbitMQ 集群环境就成为首要解决的问题了。今天花了2个小时研究了一下,已经初步成功搭建出了集群,这里做一个记录。 因为自己使用的是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. 需要修改Windows中的hosts文件。 既然要在一台机器上模拟两个Node,那么自然要配置一下两个Node的ip了,在hosts文件中添加如下两段: 127.0.0.1 Cluster-Node1 127.0.0.1 Cluster-Node2 保存。 2. 在rabbitmq-server*中添加 set APPDATA="D:\09-Opensource\rabbitmq\workspace" set RABBITMQ_CONFIG_FILE="D:\09-Opensource\rabbitmq\workspace\config\1\rabbitmq" 第一个是启动时设置的RabbitMQ的默认配置根目录。这里配置成自己制定的目录吧。当然如果不修改也是可以的,那就在c盘users下对应的用户目录里。 第二个比较重要了,我们知道RabbitMQ是可以配置Config文件的,但是默认呢确没有,需要手工创建。在Config文件中可以配置RabbitMQ的各种参数,对以后的学习研究很有帮助。这里第二个参数便是设置了Config文件的路径。 之后再添加(或者直接修改也是ok的) set RABBITMQ_NODENAME=rabbit1@Cluster-Node1 这里注意了@号之前的也必须完全不一样哦 还有就是 RABBITMQ_NODE_PORT=9991 这里也需要修改一下,毕竟我们的IP是一样的嘛; 自然RABBITMQ_DIST_PORT=15672也是要改一下的了,原因同上。 这样rabbitmq-server的两个文件就修改完了,记得保存。 3. 在rabbitmqctl-cluster-*中修改 这两个文件就很简单了: 同样,添加一下set APPDATA="D:\09-Opensource\rabbitmq\workspace" 之后再添加(或者直接修改也是ok的) set RABBITMQ_NODENAME=rabbit1@Cluster-Node1 这样就OK啦。 4. 创建集群 首先,先运行rabbitmqctl-cluster-*文件,将两个server启动起来。 之后运行rabbitmqctl-cluster-2 stop_app,将Node2先挂起来。 再运行 rabbitmqctl-cluster-2 join_cluster rabbit1@Cluster-Node1,这样就将Node2加入了Node1的集群(其实之前的集群里也只有Node1一个嘛。。。) 然后将Node2激活 rabbitmqctl-cluster-2 start_app 看看劳动成果吧: rabbitmqctl-cluster-2 cluster_status. 下一章准备写写如何激活集群的plugin吧 |
|
来自: 昵称20874412 > 《RabbitMq》