测试环境:VMS00781 VMS00782 VMS00386 (centos5.8)
1.先在三台机器上分别安装RabbitMQ Server
2.读取其中一个节点的cookie,并复制到其他节点(节点间通过cookie确定相互是否可通信)
两者之一均可:
sudo vim /var/lib/rabbitmq/.erlang.cookie
sudo vim $HOME/.erlang.cookie
3.逐个启动节点
sudo service rabbitmq-server start
4.查看各节点中的RabbitMQ brokers
sudo rabbitmqctl cluster_status
5.建集群
分别在VMS00386、VMS00782 上执行
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster --ram rabbit@VMS00781
sudo rabbitmqctl start_app
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster rabbit@VMS00781
sudo rabbitmqctl start_app
6.排错
建集群过程中碰到如下错误:
sudo rabbitmqctl join_cluster --ram rabbit@VMS00386
Clustering node rabbit@VMS00782 with rabbit@VMS00386 ...
Error: unable to connect to nodes [rabbit@VMS00386]: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@VMS00386]
rabbit@VMS00386:
* unable to connect to epmd (port 4369) on VMS00386: nxdomain (non-existing domain)
current node details:
- node name: 'rabbitmqctl-8666@VMS00782'
- home dir: /var/lib/rabbitmq
- cookie hash: 50YO3zK+HJHos0tab1vHjg==
解决之道:
集群节点间需能互相访问,故每个集群节点的hosts文件应包含集群内所有节点的信息以保证互相解析
vim /etc/hosts
781's IP VMS00781
782's IP VMS00782
386's IP vms00386
之后重启各节点中的rabbitmq
原因:忘记先停止stop_app
1.先在三台机器上分别安装RabbitMQ Server
2.读取其中一个节点的cookie,并复制到其他节点(节点间通过cookie确定相互是否可通信)
两者之一均可:
sudo vim /var/lib/rabbitmq/.erlang.cookie
sudo vim $HOME/.erlang.cookie
3.逐个启动节点
sudo service rabbitmq-server start
4.查看各节点中的RabbitMQ brokers
sudo rabbitmqctl cluster_status
5.建集群
分别在VMS00386、VMS00782 上执行
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster --ram rabbit@VMS00781
sudo rabbitmqctl start_app
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster rabbit@VMS00781
sudo rabbitmqctl start_app
6.排错
建集群过程中碰到如下错误:
sudo rabbitmqctl join_cluster --ram rabbit@VMS00386
Clustering node rabbit@VMS00782 with rabbit@VMS00386 ...
Error: unable to connect to nodes [rabbit@VMS00386]: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@VMS00386]
rabbit@VMS00386:
* unable to connect to epmd (port 4369) on VMS00386: nxdomain (non-existing domain)
current node details:
- node name: 'rabbitmqctl-8666@VMS00782'
- home dir: /var/lib/rabbitmq
- cookie hash: 50YO3zK+HJHos0tab1vHjg==
解决之道:
集群节点间需能互相访问,故每个集群节点的hosts文件应包含集群内所有节点的信息以保证互相解析
vim /etc/hosts
781's IP VMS00781
782's IP VMS00782
386's IP vms00386
之后重启各节点中的rabbitmq
7.其他问题
cluster搭建起来后若在web管理工具中rabbitmq_management的Overview的Nodes部分看到“Node statistics not available”的信息,说明在该节点上web管理插件还未启用。
直接在显示提示信息的节点上运行sudo rabbitmq-plugins enable rabbitmq_management即可。
原因:忘记先停止stop_app