Rabbitmq集群版安装
说明
此文档实例的是单机多节点,也可以配置成多机多节点,此处不再赘述。1个节点为硬盘Dics存储,2个节点是Ram内存存储。
搭建过程
1.搭建rabbitmq环境
此步骤参考单机环境搭建中的《rabbitmq安装》文档进行搭建或者自行搭建。必须保证rabbitmq可以正常工作。
2.单机多节点集群模式配置
2.1 启动节点,查看节点是否可启动正常
2.1.1 启动第1个多节点:第1个节点采用的是上一步骤安装的rabbitmq,那么端口号等参数均采用默认。集群搭建时需要知道rabbitmq的hostname,查看hostname的命令:
cd /sbin //默认目录
./rabbitmqctl status //查看rabbitmq的状态
hostname:iZ2zeht8alr3d91g8y4ccuZ。下面将会使用到,hostname可以通过修改host文件进行修改,这里采用默认。
2.1.2启动第2个节点:
#节点2
RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}] -rabbitmq_stomp tcp_listeners [61614] -rabbitmq_mqtt tcp_listeners [1884]" RABBITMQ_NODENAME=rabbit1 ./rabbitmq-server -detached
进行访问查看是否启动成功:
2.1.3 启动第3个节点:
#节点3
RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}] -rabbitmq_stomp tcp_listeners [61615] -rabbitmq_mqtt tcp_listeners [1885]" RABBITMQ_NODENAME=rabbit2 ./rabbitmq-server -detached
进行访问查看是否启动成功:
那么,第1个节点:rabbitmq;第2个节点:rabbitmq1;第3个节点:rabbitmq2。
2.2将第2个节点rabbitmq1加入到第1个节点rabbitmq中
停止第2个节点的应用程序
./rabbitmqctl -n rabbit1@iZ2zeht8alr3d91g8y4ccuZ stop_app
重新设置第二个节点的元数据和状态为清空状态。
./rabbitmqctl -n rabbit1@iZ2zeht8alr3d91g8y4ccuZ reset
加入到第1节点
./rabbitmqctl -n rabbit1@iZ2zeht8alr3d91g8y4ccuZ join_cluster rabbit@iZ2zeht8alr3d91g8y4ccuZ
重新启动第2节点
./rabbitmqctl -n rabbit1@iZ2zeht8alr3d91g8y4ccuZ start_app
2.3将第3个节点rabbitmq2加入到第1个节点rabbitmq中
停止第3个节点的应用程序
./rabbitmqctl -n rabbit2@iZ2zeht8alr3d91g8y4ccuZ stop_app
重新设置第二个节点的元数据和状态为清空状态。
./rabbitmqctl -n rabbit2@iZ2zeht8alr3d91g8y4ccuZ reset
加入到第1节点
./rabbitmqctl -n rabbit2@iZ2zeht8alr3d91g8y4ccuZ join_cluster rabbit@iZ2zeht8alr3d91g8y4ccuZ
重新启动第3节点
./rabbitmqctl -n rabbit2@iZ2zeht8alr3d91g8y4ccuZ start_app
2.4查看集群状态
命令:
./rabbitmqctl cluster_status -n rabbit@iZ2zeht8alr3d91g8y4ccuZ
网页查看:
3.多机多节点集群模式配置
公网 | 内网 | hostname |
---|---|---|
39.107.54.196 | 10.163.148.43 | iZ2zeeooav7r775twjgfmcZ |
39.107.38.199 | 10.81.32.212 | iZ2zecohzsn5y72ryjpe03Z |
- 分别在两个节点的/etc/hosts下设置相同的配置信息
10.163.148.43 iZ2zeeooav7r775twjgfmcZ 10.81.32.212 iZ2zecohzsn5y72ryjpe03Z
- 采用从主节点copy的方式保持Cookie的一致性,在39.107.54.196机器执如下命令
scp -r root@39.107.38.199:/var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq
- 使用 -detached运行各节点
rabbitmqctl stop rabbitmq-server -detached
- 查看各节点的状态
rabbitmqctl cluster_status
- 创建并部署集群,在39.107.54.196执行如下命令
rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@iZ2zecohzsn5y72ryjpe03Z rabbitmqctl start_app
- 查看集群状态
rabbitmqctl cluster_status
- 成功如下图