ubuntu

如何在Ubuntu上搭建RabbitMQ集群

小樊
38
2025-07-20 03:42:08
栏目: 智能运维

在Ubuntu上搭建RabbitMQ集群需要以下步骤:

1. 安装Erlang和RabbitMQ

首先,确保你的Ubuntu系统已经安装了Erlang。可以通过以下命令安装:

sudo apt update
sudo apt install -y erlang

然后,安装RabbitMQ服务器:

sudo apt install rabbitmq-server

2. 启用RabbitMQ管理插件

安装完成后,启用RabbitMQ管理界面插件:

sudo rabbitmq-plugins enable rabbitmq_management

3. 配置Erlang Cookie

RabbitMQ节点之间通过Erlang Cookie进行身份验证。确保所有节点的Erlang Cookie相同。首先,在任意一个节点上找到或创建Erlang Cookie文件:

cat /var/lib/rabbitmq/.erlang.cookie

然后将这个文件复制到其他节点的相同位置:

scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie

4. 启动RabbitMQ服务

在每个节点上启动RabbitMQ服务:

sudo rabbitmq-server start

5. 加入集群

选择一个节点(通常为主节点)加入集群,并允许其他节点加入:

# 在主节点上
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

# 在其他节点上
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

6. 验证集群状态

在任意一个节点上执行以下命令查看集群状态:

sudo rabbitmqctl cluster_status

7. 配置镜像队列(可选)

为了提高队列的高可用性,可以配置镜像队列。首先,在任意一个节点上添加策略:

sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

这将使得所有队列都镜像到所有节点上。

8. 配置防火墙(如果需要)

允许RabbitMQ相关端口通过防火墙:

sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp
sudo ufw reload

注意事项

0
看了该问题的人还看了