首页 > 解决方案 > Redis 从 3.0.7 升级到 5

问题描述

我有大量运行 3.0.7 的 Sentinel 和 Cluster 服务器,需要升级到 5。我无法承受停机时间。有人可以建议我怎么做吗?一些数据库太大以至于服务器无法分配新的/第二个实例,以防万一这里的最佳解决方案是在同一台服务器上午餐一个新的 Redis 5 并将其设置为 3.0.7 的从属。

1)我可以直接从3.2到5还是我需要先跳到4?

2)从这里读取从3.3 升级到 4 时需要大规模重启。有什么方法可以避免停机?如何重建原始集群数据?备份还原?

欢迎任何建议。

标签: redisnode-redisredis-sentinelredis-cluster

解决方案


您可以更改 redis 5.0 集群总线协议以使其与 3.0.7 兼容。

Redis 5.0 的集群总线协议为 1,而 redis 3.0.7 的集群总线协议为 0。

您必须注意以下2个差异:

  1. 集群总线协议 1 支持模块消息,而协议 0 不支持。
  2. 集群总线协议 1 的 ping 消息有一个额外的“cport”字段。

推荐阅读