分享

rabbitmq windows集群

 icecity1306 2014-09-11

两台windows机器ip:192.168.10.111/192.168.10.112

一、在两台机器上分别安装erlang、rabbitmq。

      1.配置erlang环境。

        http://www./download.html,选择Windows Binary File下载。并安装。

       本文安装在 D:\erl5.9.1。设置环境变量:添加用户变量,变量名 ERLANG_HOME,变量值D:\erl5.9.1

      2.安装rabbitmq

        http://www./install-windows.html

二、集群

     本文rabbitmqserver安装在D:\RabbitMQ Server。可在控制台,D:\RabbitMQServer\rabbitmq_server-2.8.1\sbin路径下,运行命令rabbitmqctl status,查询节点的状态,输出 Status of node 'rabbit@H1-PC' ...

 假设,192.168.10.111的节点名称为 rabbit@H1-PC192.168.10.112的节点名称为 rabbit@H2-PC

1.分别在两台机器的rabbitmq数据、日志文件所在路径下(本文为C:\Users\Administrator\AppData\Roaming\RabbitMQ),创建集群配置文件rabbitmq.config。

rabbitmq.config是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

文件的内容详见:http://www./configure.html#config-items

内容为(包括最后的.):

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

 

2.分别配置两台机器的host

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

 1192.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 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.

 

参考:

http://www./archives/206

http://www./blog/article.asp?id=481

http://blog.csdn.net/historyasamirror/article/details/6827870

rabbitmq官网

  

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多