Ⅰ. 搭建RabbitMQ单节点
一、安装RabbitMQ
参考:[LbxSwMZpBiBi9DkrGq1cmZTKnEe]
二、确认RabbitMQ运行没问题
root@hcss-ecs-2618:~# **rabbitmqctl status**
Status of node **rabbit@hcss-ecs-2618** #节点名称, 下面会用到
Runtime
OS PID: 83170
OS: Linux
Uptime (seconds): 2511652
Is under maintenance?: false
RabbitMQ version: 3.13.1
# 中间省略...
Interface: [::], port: 15672, protocol: http, purpose: HTTP API
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and
CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0端口号介绍:
-
25672 : 这是 Erlang 分布式节点通信的默认端口,Erlang 是 RabbitMQ 的底层通信协议。
-
15672 : 这是 Web 管理界面的默认端口,通过这个端口可以访问 RabbitMQ 的 Web 管理控制台,用于查看和管理消息队列。
-
5672 : 这是 AMQP(Advanced Message Queuing Protocol)协议的默认端口,用于客户端与 RabbitMQ 服务器之间的通信。
三、再启动两个节点
现在已经安装的 RabbitMQ 端口号是 5672、15672,再启动两个 RabbitMQ 服务,节点名称和端口号分别设置为:
| 节点名称 | AMQP协议端口号 | Web管理界面端口 |
|---|---|---|
| rabbit2 | 5673 | 15673 |
| rabbit3 | 5674 | 15674 |
启动命令如下:
# linux或者macos平台
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然后查看节点状态以及关闭节点指令:
# 查看状态
rabbitmqctl -n rabbit2 status
rabbitmqctl -n rabbit3 status
# 关闭节点
rabbitmqctl -n rabbit2 stop
rabbitmqctl -n rabbit3 stop四、验证RabbitMQ启动成功
在云服务器/本地服务器开通 15673、15674 端口号之后,分别测试:
Ⅱ. 搭建集群
一、停止服务,然后进行重置
rabbitmqctl -n rabbit2 stop_app
rabbitmqctl -n rabbit2 reset
rabbitmqctl -n rabbit3 stop_app
rabbitmqctl -n rabbit3 reset二、把rabbit2、rabbit3添加到集群
rabbit@hcss-ecs-2618 是主节点的 nodeName,可以通过 rabbitmqctl status 查询
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 rabbit1通过主节点管理界面,可以看到集群其他节点:

