当前位置:首页 > RockyLinux > 正文

RockyLinux集群消息队列配置(手把手教你搭建高可用RabbitMQ集群)

在现代分布式系统中,RockyLinux集群常用于构建稳定、高性能的服务器环境。而消息队列配置则是实现服务解耦、异步通信和流量削峰的关键技术。本文将带你从零开始,在 RockyLinux 系统上部署一个高可用的 RabbitMQ 集群,即使你是 Linux 新手,也能轻松上手。

RockyLinux集群消息队列配置(手把手教你搭建高可用RabbitMQ集群) RockyLinux集群 消息队列配置 RabbitMQ集群部署 Linux高可用消息系统 第1张

一、准备工作

我们假设你已有三台 RockyLinux 9 服务器(IP 分别为:192.168.1.10、192.168.1.11、192.168.1.12),并已完成基础网络配置与主机名设置。

首先,在所有节点上执行以下操作:

  1. 更新系统:sudo dnf update -y
  2. 安装 EPEL 源:sudo dnf install epel-release -y
  3. 安装 Erlang(RabbitMQ 依赖):
sudo dnf install https://github.com/rabbitmq/erlang-rpm/releases/download/v25.3.2/erlang-25.3.2-1.el9.x86_64.rpm -y

二、安装 RabbitMQ

在所有三台服务器上安装 RabbitMQ:

sudo dnf install https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.12/rabbitmq-server-3.12.12-1.el9.noarch.rpm -y

启动并设置开机自启:

sudo systemctl enable rabbitmq-serversudo systemctl start rabbitmq-server

三、配置 RabbitMQ 集群

RabbitMQ 集群依赖于 Erlang Cookie 的一致性。首先,在主节点(192.168.1.10)上查看 Cookie 值:

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

将该 Cookie 值复制到其他两个节点的相同路径下,并确保权限正确:

sudo systemctl stop rabbitmq-serverecho "YOUR_ERLANG_COOKIE" | sudo tee /var/lib/rabbitmq/.erlang.cookiesudo chmod 600 /var/lib/rabbitmq/.erlang.cookiesudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookiesudo systemctl start rabbitmq-server

接着,在 node2 和 node3 上加入集群(以 node1 为主):

rabbitmqctl stop_apprabbitmqctl resetrabbitmqctl join_cluster rabbit@node1rabbitmqctl start_app
注意:这里的 rabbit@node1 中的 node1 是主节点的主机名,需确保 DNS 或 /etc/hosts 已正确解析。

四、启用管理插件与验证

在任意节点启用 Web 管理界面:

sudo rabbitmq-plugins enable rabbitmq_management

创建管理员用户(默认 guest 用户仅限本地访问):

sudo rabbitmqctl add_user admin your_secure_passwordsudo rabbitmqctl set_user_tags admin administratorsudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

现在你可以通过浏览器访问任一节点的 15672 端口(如 http://192.168.1.10:15672),使用 admin 账号登录,查看集群状态。

五、总结

至此,你已成功在 RockyLinux集群 上完成了 消息队列配置,构建了一个高可用的 RabbitMQ集群部署。这种架构不仅能提升系统可靠性,还能支撑未来业务增长所需的 Linux高可用消息系统能力。

建议后续配置负载均衡(如 HAProxy)和监控告警,进一步增强生产环境稳定性。