首页主机资讯CentOS如何升级RabbitMQ

CentOS如何升级RabbitMQ

时间2025-11-20 14:06:03发布访客分类主机资讯浏览413
导读:CentOS 上升级 RabbitMQ 的完整步骤 一 升级前检查与准备 核对系统与 glibc 版本:CentOS 7 默认 glibc 2.17,CentOS 8/9 默认 glibc ≥ 2.28。RabbitMQ 3.13.x 需...

CentOS 上升级 RabbitMQ 的完整步骤

一 升级前检查与准备

  • 核对系统与 glibc 版本:CentOS 7 默认 glibc 2.17,CentOS 8/9 默认 glibc ≥ 2.28。RabbitMQ 3.13.x 需要 Erlang 26.x+,而 Erlang 26.x 要求 glibc ≥ 2.27,因此在 CentOS 7 上无法运行 3.13.x;建议 CentOS 7 停留在 3.12.x(Erlang 25.x),CentOS 8/9 可上 3.13.x。升级前务必确认目标版本与系统兼容。
  • 核对 Erlang 与 RabbitMQ 的版本对应关系:参考官方页面 rabbitmq.com/which-erlang.html,确保目标 RabbitMQ 版本有对应的 Erlang/OTP 支持。
  • 备份与维护窗口:备份 /etc/rabbitmq/ 配置、/var/lib/rabbitmq/ 数据(含 mnesia 数据库)、以及必要的策略与用户权限;选择低峰期操作并规划回滚方案。
  • 集群与连接:通知业务方维护窗口;如为集群,规划 滚动升级 顺序与脑裂防护策略。

二 单节点就地升级步骤

  • 步骤 1 检查与准备
    • 查看版本与节点名:rabbitmqctl status;检查 Erlang:erl -version。
    • 备份配置与数据(见上节)。
  • 步骤 2 升级 Erlang(如需)
    • 若目标 RabbitMQ 需要更高版本的 Erlang,先升级 Erlang 并验证:erl -version。
  • 步骤 3 升级 RabbitMQ
    • 使用 RPM 就地升级(推荐):rpm -Uvh rabbitmq-server-< 新版本> -1.el< 系统主版本> .noarch.rpm。
    • 或使用 YUM 升级:yum update rabbitmq-server -y。
  • 步骤 4 启动与验证
    • 启动服务:systemctl start rabbitmq-server。
    • 查看状态:rabbitmqctl status;必要时查看日志:tail -200f /var/log/rabbitmq/rabbit@*.log。
    • 验证管理插件与访问:rabbitmq-plugins enable rabbitmq_management;浏览器访问 http://:15672
  • 步骤 5 回滚预案
    • 保留旧版 RPM 包;如出现异常,可降级:rpm -Uvh --oldpackage rabbitmq-server-< 旧版本> -1.el< 系统主版本> .noarch.rpm,并重启服务。

三 集群滚动升级要点

  • 逐节点执行“停止应用 → 升级包 → 启动应用 → 健康检查”,保持多数节点在线,避免集群分区。
  • 典型操作(每个节点):
    • rabbitmqctl stop_app
    • 执行 RPM/YUM 升级并重启服务
    • rabbitmqctl start_app
    • rabbitmqctl cluster_status 检查集群一致性
  • 如节点使用 .erlang.cookie,确保各节点 cookie 内容一致 且权限为 400,避免因权限或 cookie 不一致导致无法加入集群。
  • 升级完成后,复核策略、用户权限、队列镜像与 Shovel/Federation 配置是否生效。

四 常见限制与升级路径建议

  • 版本上限与系统支持:自 2022-05-01 起,RabbitMQ 官方 RPM 停止为 CentOS 7 构建新版本;RabbitMQ 3.9.17+ / 3.8.31+ 不再提供 CentOS 7 包。实践中可稳定使用的 CentOS 7 最高版本为 3.9.16。如需更高版本,建议迁移至 CentOS Stream 8/9、Rocky Linux 8/9 等现代发行版。
  • glibc 与 Erlang 约束:CentOS 7 的 glibc 2.17 不满足 Erlang 26.x 要求,因此无法运行 RabbitMQ 3.13.x;CentOS 8/9 可满足 3.13.x 的运行时需求。
  • 升级路径示例:
    • CentOS 7:建议规划迁移至 3.12.x(Erlang 25.x) 或更高版本的操作系统;若必须原地升级且遇到依赖限制,优先考虑迁移而非强行升级。
    • CentOS 8/9:可直接升级到 3.13.x(对应 Erlang 26.x)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS如何升级RabbitMQ
本文地址: https://pptw.com/jishu/752025.html
RabbitMQ在CentOS上的插件使用 RabbitMQ消息队列CentOS性能优化

游客 回复需填写必要信息