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

Redis 集群版本升级指南:从 Redis 7 升级到 Redis 8

Redis 集群升级主要有两种方案:
1、在线滚动升级(无需停机)
2、停机升级(需停止服务)


一、准备工作

1. 下载 Redis 8 安装包
# Redis 8.0.0 示例(请替换为实际版本)
http://download.redis.io/releases/redis-8.0.0.tar.gz

在这里插入图片描述

2. 编译安装 Redis 8
# 解压并编译
tar xf redis-8.0.0.tar.gz -C /app/
cd /app/redis-8.0.0
make# 安装到指定目录
cd src
make install PREFIX=/app/redis8# 安装测试依赖
yum -y install tcl
make test
3. 确认当前集群状态
# 连接任意节点查看集群信息
/app/redis7/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6380 -c
10.0.0.10:6380> CLUSTER NODES

二、在线滚动升级方案

1. 升级从节点(以 6383 为例)
# 关闭从节点
/app/redis7/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6383 SHUTDOWN# 备份数据与配置
cp /data/redis/6383/appendonly.aof /data/redis/6383/appendonly.aof.bak
cp /data/redis/6383/dump.rdb /data/redis/6383/dump.rdb.bak
cp /app/redis7/etc/redis6383.conf /app/redis7/etc/redis6383.conf.bak# 使用 Redis 8 启动进程
/app/redis8/bin/redis-server /app/redis7/etc/redis6383.conf# 重新加入集群(使用旧版客户端)
/app/redis7/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6381 \
CLUSTER MEET 10.0.0.10 6383# 恢复主从关系
/app/redis7/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6383 \
CLUSTER REPLICATE <主节点ID># 验证版本
/app/redis8/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6383 INFO SERVER
2. 主从切换
# 在升级后的从节点执行故障转移
/app/redis8/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6383 CLUSTER FAILOVER# 检查主从关系
/app/redis8/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6380 CLUSTER NODES
3. 升级原主节点

重复从节点升级步骤,逐步完成所有主节点升级。


三、停机升级方案

1. 停止集群服务
# 关闭所有节点(先从节点后主节点)
for port in 6383 6384 6385 6380 6381 6382; do/app/redis7/bin/redis-cli -a <密码> -h 192.168.1.1 -p $port SHUTDOWN
done# 确认进程终止
ps -ef | grep redis
2. 备份数据与配置
mkdir /data/redis/backup
mv /data/redis/638*/*.aof /data/redis/backup/
mv /data/redis/638*/*.rdb /data/redis/backup/
3. 启动 Redis 8 进程
# 使用 Redis 8 启动所有节点
for port in 6380 6381 6382 6383 6384 6385; do/app/redis8/bin/redis-server /app/redis7/etc/redis${port}.conf
done
4. 重建集群
# 使用 Redis 8 创建新集群
/app/redis8/bin/redis-cli -a <密码> --cluster create \
192.168.1.1:6380 192.168.1.1:6381 192.168.1.1:6382 \
192.168.1.1:6383 192.168.1.1:6384 192.168.1.1:6385 \
--cluster-replicas 1 --cluster-yes

四、验证与回滚

1. 验证升级
# 检查版本与集群状态
/app/redis8/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6380 INFO SERVER
/app/redis8/bin/redis-cli -a <密码> -h 192.168.1.1 -p 6380 CLUSTER INFO
2. 回滚方案
  • 在线滚动升级:逐节点降级至 Redis 7,重新加入集群。
  • 停机升级:停止 Redis 8 进程,恢复备份数据,重启 Redis 7。

五、注意事项

  1. 版本兼容性:确保 Redis 8 兼容旧版数据格式,建议先在测试环境验证。
  2. 配置更新:检查 redis.conf 中新增参数(如 cluster-allow-replica-migration)。
  3. 客户端兼容性:确保应用客户端支持 Redis 8 协议。
  4. 监控:升级后观察内存、性能指标及集群状态。

相关文章:

  • Linux内核初始化机制全解析:从pure_initcall到late_initcall
  • Java高频面试之并发编程-13
  • Go语言八股之并发详解
  • 七彩喜微高压氧舱:探索健康与康复的新维度
  • Linux 内核学习(6) --- Linux 内核基础知识
  • Advanced Installer 22.5打包windows 安装包
  • 【Bluedroid】 HID 设备应用注册与主机服务禁用流程源码解析
  • 【Mybatis-plus常用语法】
  • 实验六 基于Python的数字图像压缩算法
  • 并发设计模式实战系列(17):信号量(Semaphore)
  • PostgreSQL 查询历史最大进程数方法
  • NumPy 2.x 完全指南【一】简介
  • Linux网络编程day6 下午去健身
  • JAVA中常见队列详解-非线程安全
  • MCP系列(一)什么是MCP?
  • DMA技术原理
  • 软件系统的可观测性 Observability
  • 鸿蒙开发中对want的深入理解,want和uiability的关系-深度理解want的意思有利开发-优雅草卓伊凡
  • 聊一聊Qwen3思考模式实现以及背后原理探讨
  • 【Ollama】docker离线部署Ollama+deepseek
  • 俄乌释放停火和谈信号,克宫:将组建“相应级别”谈判代表团
  • 印方称所有敌对行动均得到反击和回应,不会升级冲突
  • 国家统计局:4月份居民消费价格同比下降0.1%
  • 拿出压箱底作品,北京交响乐团让上海观众享受音乐盛宴
  • 2025年上海市模范集体、劳动模范和先进工作者名单揭晓
  • 图忆|红场阅兵:俄罗斯30年来的卫国战争胜利日阅兵式