> 技术文档 > 详解RabbitMQ单机多节点搭建集群

详解RabbitMQ单机多节点搭建集群

目录

单机多节点搭建集群

Ubuntu

安装RabbitMQ

查看RabbitMQ的状态

再启动两个节点

搭建集群

Centos

安装RabbitMQ

查看集群状态

再启动两个节点

搭建集群


单机多节点搭建集群

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

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