RabbitMQ搭建集群

要在 Windows 或 Linux(CentOS 7.9) 上搭建 RabbitMQ 集群,基本思路是:


🗂️ 架构说明

主机 角色 IP 节点名称
A 主节点 10.152.132.1 rabbit@node1
B 备节点 10.152.132.2 rabbit@node2

集群目标:两台 RabbitMQ 节点加入同一个集群。


🧱 搭建 RabbitMQ 集群步骤(Linux/CentOS)

说明:默认你已安装好 RabbitMQ 和 Erlang,并能访问 rabbitmqctl 命令。


✅ 1. 设置主机名 & 配置 hosts

在两台机器上,设置好各自主机名,并写入 /etc/hosts 文件:

🖥️ 节点 A(主节点:10.152.132.1)
bash 复制代码
hostnamectl set-hostname node1
echo "10.152.132.1 node1" >> /etc/hosts
echo "10.152.132.2 node2" >> /etc/hosts
🖥️ 节点 B(备节点:10.152.132.2)
bash 复制代码
hostnamectl set-hostname node2
echo "10.152.132.1 node1" >> /etc/hosts
echo "10.152.132.2 node2" >> /etc/hosts

在 RabbitMQ 中,Erlang Cookie 是集群通信的"密码"。必须在所有节点中一致。

在主节点 node1 上执行:

bash 复制代码
cat /var/lib/rabbitmq/.erlang.cookie

将内容复制到备节点 node2 的相同位置,命令如下:

bash 复制代码
scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/

复制后请确保权限正确:

bash 复制代码
chmod 400 /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

✅ 3. 启动主节点

在主节点 10.152.132.1 启动 RabbitMQ:

bash 复制代码
systemctl start rabbitmq-server
rabbitmqctl status

✅ 4. 加入备节点到主节点的集群

备节点 执行:

bash 复制代码
# 停止 rabbitmq 应用
rabbitmqctl stop_app

# 将本节点重置(清空现有状态)
rabbitmqctl reset

# 加入主节点的集群
rabbitmqctl join_cluster rabbit@node1

# 启动 rabbitmq 应用
rabbitmqctl start_app

✅ 5. 查看集群状态

在任意一个节点执行:

bash 复制代码
rabbitmqctl cluster_status

应看到:

复制代码
{nodes,[{disc,[rabbit@node1,rabbit@node2]}]}

✅ 6. 开启 Web 管理插件并访问

bash 复制代码
rabbitmq-plugins enable rabbitmq_management

访问地址:


✅ 7. 添加 HA 队列策略(可选)

让所有队列在两个节点间自动同步复制:

bash 复制代码
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

🚨 注意事项

问题 原因 / 解决方式
加入失败 Cookie 不一致,或 /etc/hosts 未配置
连接被拒绝 RabbitMQ 未启动,或防火墙阻止了端口
Web 访问不了 端口 15672 未开放,或服务未启用

✅ 所需开放端口(两节点之间必须互通)

端口号 说明
4369 epmd(Erlang 分布式端口管理)
5672 RabbitMQ AMQP 服务端口
15672 Web UI 管理端口(HTTP)
25672 RabbitMQ 节点间通信端口

相关推荐
Edingbrugh.南空8 小时前
Kafka 3.0零拷贝技术全链路源码深度剖析:从发送端到日志存储的极致优化
分布式·kafka
掘金-我是哪吒11 小时前
分布式微服务系统架构第150集:JavaPlus技术文档平台日更
分布式·微服务·云原生·架构·系统架构
miaoikxm12 小时前
本地windows搭建kafka
windows·分布式·kafka
安科瑞王可12 小时前
“430”与“531”政策节点后分布式光伏并网技术挑战及智慧调度策略
分布式·虚拟电厂·光伏·智慧能源·自发自用
Edingbrugh.南空13 小时前
Kafka数据写入流程源码深度剖析(Broker篇)
分布式·kafka
文慧的科技江湖15 小时前
充电桩运维管理工具系统的**详细功能列表** - 慧知开源充电桩平台
运维·分布式·小程序·开源·充电桩平台·充电桩开源平台
在未来等你17 小时前
Java并发编程实战 Day 26:消息队列在并发系统中的应用
微服务·kafka·消息队列·rabbitmq·并发编程·高并发系统·: java
掘金-我是哪吒21 小时前
分布式微服务系统架构第148集:JavaPlus技术文档平台日更
分布式·微服务·云原生·架构·系统架构
JavaGPT21 小时前
Kafka 4.0.0集群部署
分布式·kafka
bug菌21 小时前
一致性设计选择:不同业务场景下,如何做“取舍”?
分布式·后端·架构