首页主机资讯centos环境下rabbitmq版本升级步骤

centos环境下rabbitmq版本升级步骤

时间2025-10-17 22:50:04发布访客分类主机资讯浏览636
导读:CentOS环境下RabbitMQ版本升级步骤(以3.8.x→3.10.x为例) 1. 升级前准备 备份数据:停止RabbitMQ服务,备份数据目录与配置文件,防止升级过程中数据丢失。sudo systemctl stop rabbitm...

CentOS环境下RabbitMQ版本升级步骤(以3.8.x→3.10.x为例)

1. 升级前准备

  • 备份数据:停止RabbitMQ服务,备份数据目录与配置文件,防止升级过程中数据丢失。
    sudo systemctl stop rabbitmq-server
    sudo cp -a /var/lib/rabbitmq /var/lib/rabbitmq-backup
    sudo cp -a /etc/rabbitmq /etc/rabbitmq-backup
    
  • 检查Erlang兼容性:RabbitMQ对Erlang版本有严格要求(如3.10.x需Erlang 23+),通过以下命令查看当前Erlang版本:
    erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
    
    若版本不匹配,需先升级Erlang(参考RabbitMQ官方Erlang版本要求)。
  • 下载新版本安装包:从RabbitMQ官方GitHub Releases页面下载对应CentOS版本的安装包(如rabbitmq-server-3.10.0-1.el7.noarch.rpm)。

2. 卸载旧版本(可选但推荐)

若已安装旧版RabbitMQ或Erlang,先彻底卸载以避免冲突:

sudo yum remove -y rabbitmq-server erlang*

3. 安装新版本Erlang

若Erlang未升级或版本不符,通过RabbitMQ官方提供的YUM仓库安装兼容版本:

  • 添加Erlang仓库文件:
    vi /etc/yum.repos.d/rabbitmq_erlang.repo
    
    内容如下(以CentOS 7为例):
    [rabbitmq_erlang]
    name=rabbitmq_erlang
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
    repo_gpgcheck=1
    gpgcheck=1
    enabled=1
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
            https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    
  • 安装Erlang:
    sudo yum install erlang -y
    erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell  # 验证版本
    

4. 安装新版本RabbitMQ

使用rpm命令安装下载的RabbitMQ RPM包:

sudo rpm -ivh rabbitmq-server-3.10.0-1.el7.noarch.rpm

5. 清理旧数据与恢复配置

  • 清理旧版残余数据:删除Mnesia数据库目录(新版本会重新初始化):
    sudo rm -rf /var/lib/rabbitmq/mnesia/*
    
  • 恢复配置文件:若旧版配置文件有自定义修改,将备份的配置复制回原路径:
    sudo cp /etc/rabbitmq-backup/rabbitmq.conf /etc/rabbitmq/rabbitmq.conf
    

6. 启动RabbitMQ服务与插件

  • 启动服务:
    sudo systemctl start rabbitmq-server
    sudo systemctl enable rabbitmq-server  # 设置开机自启
    
  • 启用管理插件(若未启用):
    sudo rabbitmq-plugins enable rabbitmq_management
    

7. 验证升级结果

  • 检查RabbitMQ版本:
    sudo rabbitmqctl status | grep -i version
    
  • 访问管理界面:浏览器输入http://< 服务器IP> :15672,使用默认用户guest(仅本地访问)或自定义用户登录,确认管理界面正常。

8. 集群环境升级(可选)

若为RabbitMQ集群,需采用滚动升级(逐节点升级,确保集群高可用):

  1. 停止目标节点:sudo systemctl stop rabbitmq-server
  2. 执行上述升级步骤(安装Erlang、RabbitMQ、清理数据等)
  3. 启动节点:sudo systemctl start rabbitmq-server
  4. 重复以上步骤至所有节点完成升级。
    升级后需检查集群状态:sudo rabbitmqctl cluster_status,确保所有节点已加入集群。

注意事项

  • 版本兼容性:严格遵循RabbitMQ与Erlang的版本适配表(如3.10.x需Erlang 23+,4.0.x需Erlang 26+),避免因版本不匹配导致启动失败。
  • 数据安全:升级前务必备份数据,尤其是生产环境,防止误操作导致数据丢失。
  • 插件兼容性:部分插件(如Federation、Shovel)可能需要升级至对应版本,升级前检查插件兼容性。
  • 停机时间:单节点需停机升级,集群环境可通过滚动升级减少停机时间(通常几分钟)。

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


若转载请注明出处: centos环境下rabbitmq版本升级步骤
本文地址: https://pptw.com/jishu/729489.html
rabbitmq在centos上的故障排查技巧 如何配置centos上rabbitmq的网络参数

游客 回复需填写必要信息