温馨提示×

centos中rabbitmq的集群如何搭建

小樊
41
2025-11-27 19:32:02
栏目: 智能运维

在CentOS系统中搭建RabbitMQ集群,可以按照以下步骤进行:

1. 安装Erlang

RabbitMQ依赖于Erlang,因此首先需要安装Erlang。

# 添加Erlang解决方案库
sudo yum install -y epel-release

# 安装Erlang
sudo yum install -y erlang

2. 安装RabbitMQ

安装RabbitMQ服务器。

# 添加RabbitMQ解决方案库
sudo wget -O /etc/yum.repos.d/rabbitmq.repo https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/el/7/x86_64/rabbitmq-server.repo

# 安装RabbitMQ服务器
sudo yum install -y rabbitmq-server

3. 启动RabbitMQ服务

启动RabbitMQ服务并设置开机自启动。

# 启动RabbitMQ服务
sudo systemctl start rabbitmq-server

# 设置开机自启动
sudo systemctl enable rabbitmq-server

4. 配置Erlang Cookie

确保所有节点上的Erlang Cookie相同,这是集群节点之间通信的关键。

# 查找Erlang Cookie文件位置
sudo find / -name ".erlang.cookie"

# 将Cookie复制到其他节点
sudo scp /var/lib/rabbitmq/.erlang.cookie user@node2:/var/lib/rabbitmq/
sudo scp /var/lib/rabbitmq/.erlang.cookie user@node3:/var/lib/rabbitmq/

# 在每个节点上设置正确的权限
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie

5. 启用管理插件(可选)

启用RabbitMQ管理插件,方便监控和管理。

# 启用管理插件
sudo rabbitmq-plugins enable rabbitmq_management

6. 配置集群

在第一个节点上配置集群。

# 将第一个节点加入集群
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

在第三个节点上配置集群。

# 将第三个节点加入集群
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

7. 验证集群状态

在任意一个节点上验证集群状态。

# 查看集群节点信息
sudo rabbitmqctl cluster_status

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

为了提高高可用性,可以配置镜像队列。

# 在任意一个节点上配置镜像队列策略
sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

9. 配置防火墙(可选)

如果需要远程访问RabbitMQ管理界面,需要配置防火墙。

# 开放RabbitMQ默认端口5672和管理端口15672
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp
sudo firewall-cmd --reload

通过以上步骤,你可以在CentOS系统中成功搭建一个RabbitMQ集群。

0