RabbitMQ 集群部署配置
集群架构
集群节点介绍
主机名 |
节点描述 |
集群节点名称 |
GZ-V-L-MQ-11 |
节点1 |
rabbit@GZ-V-L-MQ-11 |
GZ-V-L-MQ-12 |
节点2 |
rabbit@GZ-V-L-MQ-12 |
GZ-V-L-MQ-13 |
节点3 |
rabbit@GZ-V-L-MQ-13 |
*提示:
RabbitMQ节点使用主机名相互通信。因此,所有节点名称必须能够解析所有集群对等体的名称。对于像rabbitmqctl这样的工具也是如此。
协议端口
Protocol |
Port |
说明 |
amqp |
5672 |
AMQP 客户端使用 |
clustering |
25672 |
节点间和CLI工具通信 |
http |
15672 |
HTTP API客户端,管理UI和rabbitmqadmin |
RabbitMQ 部署
接上文 《RabbitMQ集群之单节点安装部署》
设置 erlang.cookie
生成 erlang.cookie
echo "LinuxHub" > erlang.cookie
|
分发 erlang.cookie
#!/bin/bash source /data/app/environment.sh for (( i=0; i < 3; i++ )) do echo ">>> ${RBMQ_NODE_NAMES[i]}" scp erlang.cookie root@${RBMQ_NODE_NAMES[i]}:/var/lib/rabbitmq/.erlang.cookie ssh root@${RBMQ_NODE_NAMES[i]} "chmod 600 /var/lib/rabbitmq/.erlang.cookie && chown -R rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie" done
|
节点1
rm -rf /data/rabbitmq/*
systemctl restart rabbitmq-server rabbitmq-plugins enable rabbitmq_management systemctl restart rabbitmq-server
|
节点2
rm -rf /data/rabbitmq/* systemctl restart rabbitmq-server rabbitmq-plugins enable rabbitmq_management systemctl restart rabbitmq-server
rabbitmqctl -n rabbit@GZ-V-L-MQ-12 stop_app rabbitmqctl -n rabbit@GZ-V-L-MQ-12 reset rabbitmqctl -n rabbit@GZ-V-L-MQ-12 join_cluster rabbit@GZ-V-L-MQ-11 rabbitmqctl -n rabbit@GZ-V-L-MQ-12 start_app
|
注解:
rabbitmqctl -n rabbit@GZ-V-L-MQ-12 stop_app
rabbitmqctl -n rabbit@GZ-V-L-MQ-12 reset
rabbitmqctl -n rabbit@GZ-V-L-MQ-12 join_cluster rabbit@GZ-V-L-MQ-11
rabbitmqctl -n rabbit@GZ-V-L-MQ-12 start_app
|
节点3
rm -rf /data/rabbitmq/* systemctl restart rabbitmq-server rabbitmq-plugins enable rabbitmq_management systemctl restart rabbitmq-server
rabbitmqctl -n rabbit@GZ-V-L-MQ-13 stop_app rabbitmqctl -n rabbit@GZ-V-L-MQ-13 reset rabbitmqctl -n rabbit@GZ-V-L-MQ-13 join_cluster rabbit@GZ-V-L-MQ-11 rabbitmqctl -n rabbit@GZ-V-L-MQ-13 start_app
|
查看集群状态
[root@GZ-V-L-MQ-11 ~] Cluster status of node rabbit@GZ-V-L-MQ-11 ... [{nodes,[{disc,['rabbit@GZ-V-L-MQ-11','rabbit@GZ-V-L-MQ-12', 'rabbit@GZ-V-L-MQ-13']}]}, {running_nodes,['rabbit@GZ-V-L-MQ-13','rabbit@GZ-V-L-MQ-12', 'rabbit@GZ-V-L-MQ-11']}, {cluster_name,<<"rabbit@GZ-V-L-MQ-11">>}, {partitions,[]}, {alarms,[{'rabbit@GZ-V-L-MQ-13',[]}, {'rabbit@GZ-V-L-MQ-12',[]}, {'rabbit@GZ-V-L-MQ-11',[]}]}]
|
WEB界面查看状态