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. 监控:升级后观察内存、性能指标及集群状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值