温馨提示×

rabbitmq在centos上如何实现高可用

小樊
39
2025-02-18 18:33:07
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上实现RabbitMQ的高可用性,通常是通过搭建RabbitMQ集群来实现的。以下是详细的步骤:

1. 安装Erlang和RabbitMQ

首先,在所有节点上安装Erlang和RabbitMQ。可以使用官方提供的安装包进行安装。

# 安装Erlang
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

# 安装RabbitMQ
sudo yum install rabbitmq-server

2. 配置Erlang Cookie

RabbitMQ集群中的节点通过Erlang Cookie进行认证。确保所有节点的Erlang Cookie相同。

# 在任意节点上找到Erlang Cookie
cat /var/lib/rabbitmq/.erlang.cookie

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

3. 搭建RabbitMQ集群

3.1. 修改主机名

确保所有节点的主机名可以相互解析。

# 修改主机名
hostnamectl set-hostname rabbit@node1
hostnamectl set-hostname rabbit@node2
hostnamectl set-hostname rabbit@node3

3.2. 启动RabbitMQ服务

在所有节点上启动RabbitMQ服务。

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

3.3. 加入集群

选择一个节点作为主节点(通常配置为磁盘节点),然后将其他节点加入到集群中。

# 在主节点上停止RabbitMQ服务
sudo rabbitmqctl stop_app

# 将其他节点加入到主节点
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1

# 启动RabbitMQ服务
sudo rabbitmqctl start_app

4. 验证集群状态

使用以下命令查看集群状态。

# 查看集群状态
sudo rabbitmqctl cluster_status

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

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

# 设置队列镜像策略
sudo rabbitmqctl set_policy ha-all "^ha\." '{"ha-mode":"all"}'

6. 配置防火墙

确保防火墙允许RabbitMQ使用的端口(默认是5672)。

# 打开端口
sudo firewall-cmd --add-port=5672/tcp --permanent
sudo firewall-cmd --reload

7. 配置管理插件(可选)

启用RabbitMQ管理插件以便通过Web界面管理集群。

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

参考链接

[1] 一文带你吃透 RabbitMQ 的高可用架构 [2] 高可用RabbitMQ集群的搭建及原理分析 [3] RabbitMQ 集群高可用部署详细介绍 [4] centos9 stream 下rabbitmq高可用集群搭建及使用 [5] CentOS下RabbitMq高可用集群环境搭建 [6] CentOS7实现RabbitMQ高可用集群 [7] centos7 rabbitmq集群搭建高可用 [8] CentOS下RabbitMQ集群安装配置教程 [9] Centos6.9下RabbitMQ集群部署记录 [10] 在centos中安装rabbitmq服务 [11] centos安装rabbitmq_手工部署RabbitMQ(CentOS 7.4 - 酷盾) [12] RabbitMQ在CentOS中的安装和配置教程[@ref]

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:RabbitMQ在Debian上如何实现高可用性

0