centos环境下rabbitmq版本升级步骤
导读: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版本:
若版本不匹配,需先升级Erlang(参考RabbitMQ官方Erlang版本要求)。erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell - 下载新版本安装包:从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仓库文件:
内容如下(以CentOS 7为例):vi /etc/yum.repos.d/rabbitmq_erlang.repo[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集群,需采用滚动升级(逐节点升级,确保集群高可用):
- 停止目标节点:
sudo systemctl stop rabbitmq-server - 执行上述升级步骤(安装Erlang、RabbitMQ、清理数据等)
- 启动节点:
sudo systemctl start rabbitmq-server - 重复以上步骤至所有节点完成升级。
升级后需检查集群状态: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
