安装 Erlang
apt-get install -y erlang
下载 完美兼容 Ubuntu 自带 Erlang 24 的包
cd /usr/local
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.25/rabbitmq-server-generic-unix-3.10.25.tar.xz
解压
tar -xvf rabbitmq-server-generic-unix-3.10.25.tar.xz
配置环境
echo “export PATH=/usr/local/rabbitmq_server-3.10.25/sbin:\$PATH” >> /etc/profile
source /etc/profile
启动服务
rabbitmq-server -detached
查看版本
rabbitmqctl version
开启 WEB 控制台
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_prometheus
创建账号
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”
两台节点(elk91 + elk92)搭建 RabbitMQ 集群
- elk91:RabbitMQ 已安装
- elk92:RabbitMQ 已安装
- Erlang 正常
- 目录:
/usr/local/rabbitmq_server-3.10.25
一、保证两台机器互相能解析主机名(必须做)
两台节点都执行:
cat >> /etc/hosts << EOF
10.0.0.91 elk91
10.0.0.92 elk92
EOF
二、两台节点都先停止 RabbitMQ
rabbitmqctl stop
三、同步 .erlang.cookie(集群通信密钥,最关键)
只在 elk91 执行:
scp /root/.erlang.cookie root@elk92:/root/
然后在 elk92 执行:
chmod 600 /root/.erlang.cookie
四、两台节点都启动 RabbitMQ
rabbitmq-server -detached
五、开始组建集群(只在 elk92 执行)
1. 停止应用
rabbitmqctl stop_app
2. 重置节点
rabbitmqctl reset
3. 加入 elk91 集群
rabbitmqctl join_cluster rabbit@elk91
4. 启动应用
rabbitmqctl start_app
六、查看集群状态(任意节点执行)
rabbitmqctl cluster_status
看到下面内容 = 集群成功!
Nodes: [{rabbit@elk91},{rabbit@elk92}]
七、设置镜像队列(全队列高可用)
任意节点执行:
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
八、查看队列策略
rabbitmqctl list_policies
九、Web 界面查看集群
http://10.0.0.91:15672
http://10.0.0.92:15672
账号:admin
密码:admin
看到 2 个节点 = 集群完全成功
十、Prometheus 监控配置
两台节点自动暴露监控指标:
http://10.0.0.91:15692/metrics
http://10.0.0.92:15692/metrics
prometheus.yml 增加:
- job_name: "rabbitmq"
scrape_interval: 15s
static_configs:
- targets:
- "10.0.0.91:15692"
- "10.0.0.92:15692"
最适合你集群的 Grafana 面板 ID
首选(官方推荐,适配内置 Prometheus 插件):10991(RabbitMQ Management)
- 适配:RabbitMQ 3.8+ 内置
rabbitmq_prometheus插件(你当前环境已满足) - 覆盖:集群节点状态、连接 / 信道 / 队列、消息速率、内存 / 文件句柄、Erlang 运行时等核心指标
备选(通用 exporter 场景):7380(RabbitMQ Monitoring)
导入步骤(Grafana 操作)
- 登录 Grafana → 左侧菜单 Dashboards → New → Import
- 在 Import via grafana.com 输入框填入 10991 → 点击 Load
- 选择你的 Prometheus 数据源 → 点击 Import
- 面板加载后,顶部可切换查看 elk91 / elk92 节点或集群聚合数据
面板核心监控项(10991)
- 集群节点健康与资源(CPU、内存、FD、Socket、Erlang 进程)
- 连接数、信道数、队列数、消费者数
- 消息发布 / 消费速率、Ready/Unacked 消息量
- 死信队列、交换器、集群网络分区状态
正文完