Ubuntu单机多节点RabbitMQ集群怎么搭建?端口号冲突如何解决?
作者:新绿MEHO
想知道如何在Ubuntu或CentOS上单机部署多节点RabbitMQ集群吗?本文详细讲解从安装到集群配置的全过程,包括节点名称、AMQP协议端口(如5672)和Web管理界面端口(如15672)的设置,以及常见复制命令时横线丢失等坑点,助你轻松搭建高可用消息队列集群
单机多节点搭建集群
Ubuntu
安装RabbitMQ
安装RabbitMQ的步骤在之前的博客中已经写过了。
查看RabbitMQ的状态
rabbitmqctl status # 查看 RabbitMQ 状态
会在结果的第一行看到节点的名称,比如:

端⼝号介绍:
- 25672这是Erlang分布式节点通信的默认端⼝, Erlang是RabbitMQ的底层通信协议.
- 15672这是 Web管理界⾯的默认端⼝, 通过这个端⼝可以访问RabbitMQ的Web管理控制台, ⽤于查看和管理消息队列.
- 5672这是 AMQP (Advanced Message Queuing Protocol) 协议的默认端⼝, ⽤于客⼾端与
- RabbitMQ服务器之间的通信.
再启动两个节点
现在已经安装的RabbitMQ端⼝号是5672, 15672
再启动两个RabbitMQ服务, 节点名称和端⼝号分别设置为:
| Node name | AMQP协议端口号 | Web管理界面端口号 |
| rabbit2 | 5673 | 15673 |
| rabbit3 | 5674 | 15674 |
启动命令如下:
RABBITMQ_NODE_PORT= 5673 RABBITMQ_SERVER_START_ARGS="rabbitmq_management listener [{port, 15673 }]" RABBITMQ_NODENAME= rabbit2 rabbitmq-server -detached
RABBITMQ_NODE_PORT= 5674 RABBITMQ_SERVER_START_ARGS="rabbitmq_management listener [{port, 15674 }]" RABBITMQ_NODENAME= rabbit3 rabbitmq-server -detached然后可以通过IP+15673和IP+15674访问管理界面看是否启动成功。
搭建集群
停止服务并重置
rabbitmqctl -n rabbit2 stop_app rabbitmqctl -n rabbit2 reset rabbitmqctl -n rabbit3 stop_app rabbitmqctl -n rabbit3 reset
把node2,node3节点加入集群
rabbitmqctl -n rabbit2 join_cluster rabbit@hcss-ecs-2618 rabbitmqctl -n rabbit3 join_cluster rabbit@hcss-ecs-2618
重启rabbit2,rabbit3
rabbitmqctl -n rabbit2 start_app rabbitmqctl -n rabbit3 start_app
查看集群状态
rabbitmqctl cluster_status -n rabbit
可以通过主节点的管理界面,看到集群其它节点的状态

Centos
安装RabbitMQ
安装RabbitMQ的详细步骤已经在之前的博客中写过了。
查看集群状态
rabbitmqctl status # 查看 RabbitMQ 状态
可以在结果中第一行看到节点名称

再启动两个节点
现在已经安装的RabbitMQ端⼝号是5672, 15672
再启动两个RabbitMQ服务, 节点名称和端⼝号分别设置为:
| Node name | AMQP协议端口号 | Web管理界面端口号 |
| rabbit2 | 5673 | 15673 |
| rabbit3 | 5674 | 15674 |
启动命令如下:
RABBITMQ_NODE_PORT= 5673
RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port, 15673 }]" RABBITMQ_NODENAME= rabbit2
rabbitmq-server -detached
RABBITMQ_NODE_PORT= 5674
RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port, 15674 }]" RABBITMQ_NODENAME= rabbit3
rabbitmq-server -detached注意上面的命令在复制的时候如下图所示:

因为我在复制上面的命令时发现多次都没有启动成功,找了好久才发现在复制的时候,一个-横线在复制后没有了。
可以通过IP+端口号进行访问看是否启动成功,也可以使用netstat -anp | grep 56来查看是否启动成功。
搭建集群
停止服务并重置
rabbitmqctl -n rabbit2 stop_app rabbitmqctl -n rabbit2 reset rabbitmqctl -n rabbit3 stop_app rabbitmqctl -n rabbit3 reset

把rabbit2和rabbit3加入集群
rabbitmqctl -n rabbit2 join_cluster rabbit@iZbp190qbav81ruf46b5w7Z rabbitmqctl -n rabbit3 join_cluster rabbit@iZbp190qbav81ruf46b5w7Z

重启rabbit2和rabbit3
rabbitmqctl -n rabbit2 start_app rabbitmqctl -n rabbit3 start_app

查看集群状态
rabbitmqctl cluster_status -n rabbit


通过管理界面可以查看到集群信息

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
