温馨提示×

rabbitmq高可用centos怎么搭建

小樊
41
2025-10-28 05:45:19
栏目: 智能运维

在CentOS上搭建RabbitMQ高可用集群,可以按照以下步骤进行:

1. 安装Erlang

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

# 添加Erlang解决方案库 wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm sudo rpm -Uvh erlang-solutions-2.0-1.noarch.rpm # 安装Erlang sudo yum install -y erlang 

2. 安装RabbitMQ

安装RabbitMQ服务器。

# 添加RabbitMQ解决方案库 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服务并设置开机自启。

sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server 

4. 配置Erlang Cookie

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

# 查看当前节点的Erlang Cookie sudo cat /var/lib/rabbitmq/.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. 配置集群

假设你有三个节点:node1, node2, node3。

在node1上配置集群

# 停止RabbitMQ服务 sudo systemctl stop rabbitmq-server # 将node2和node3加入集群 sudo rabbitmqctl stop_app sudo rabbitmqctl reset sudo rabbitmqctl join_cluster rabbit@node1 sudo rabbitmqctl start_app 

在node2和node3上配置集群

# 停止RabbitMQ服务 sudo systemctl stop rabbitmq-server # 将node2和node3加入node1集群 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的默认端口(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 

10. 监控和日志

配置监控和日志,确保及时发现和解决问题。

# 查看RabbitMQ日志 sudo tail -f /var/log/rabbitmq/rabbit@node1.log 

通过以上步骤,你可以在CentOS上搭建一个高可用的RabbitMQ集群。根据实际需求,可以进一步优化和调整配置。

0