示例机器:node1 node2 node3
端口关系:
Listening ports
amqp->5672, mqtt->1883
Web contexts
RabbitMQ Management->15672, Redirect to port 15672->55672
1 在每台机器安装 Erlang、RabbitMQ、hosts
示例 /etc/hosts
172.17.0.2 41d00fc42212
172.17.0.3 6b773d1d9c36
172.17.0.4 091ff3b586db
在主机上添加路由 : route add 网段.0.0 mask 255.255.255.0 互联IP
route add 172.17.0.0 mask 255.255.255.0 192.168.99.100
2 设置erlang cookie
查找.erlang.cookie:find / -name ".erlang*" -print
scp .erlang.cookie [email protected]:/root
目录位置 /var/lib/rabbitmq/.erlang.cookie 或 $HOME/.erlang.cookie
让每台机器的.erlang.cookie一样,将随意一台机器的cookie复制到其它机器上
文件权限:chmod 400 .erlang.cookie
3 使用detached启动rabbitmq-server
rabbitmqctl stop
rabbitmq-server -detached
4 通过 rabbitmqctl cluster_status 查看各种节点状态
5 在node2和node3停止rabbitmq应用, 这个是被添加到集群的节点
node2:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
node3:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
如果要使用内存节点
node2:
rabbitmqctl join_cluster --ram rabbit@node1
最后启动 app:rabbitmqctl start_app
6 集群配置好后使用 rabbitmqctl cluster_status 查看各种节点状态
7 启动服务
集群启动之前确定hosts文件是否添加了
invoke-rc.d rabbitmq-server restart
参考网址
http://www.fishdomain.cn/?p=46
http://www.cnblogs.com/lion.net/p/5725474.html
http://idoall.org/blog/post/lion/14
配置官方指南:http://www.blogjava.net/qbna350816/archive/2016/08/02/431415.html