【Redis】redis-cluster到redis-cluster的快速复制
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,现有个需求是redis-cluster到redis-cluster的快速迁移,并且迁移过后两套redis-cluster都要独立使用无依赖方法一:使用前面redis迁移中的在线迁移工具redis-mi
千家信息网最后更新 2025年11月14日【Redis】redis-cluster到redis-cluster的快速复制
现有个需求是redis-cluster到redis-cluster的快速迁移,并且迁移过后两套redis-cluster都要独立使用无依赖
方法一:使用前面redis迁移中的在线迁移工具
redis-migration(劣势:不支持redis4.0)redis-migration-tools(劣势:不支持redis4.0)redis-sync-manage:redis-port封装版本((劣势:不支持密码模式))等工具
刚好线上是redis4.0,有的无的因为各种原因无法使用上面的各种工具
方法二:
参考:【Redis】redis迁移数据到redis-cluster劣势:步骤相对麻烦,档redis rdb文件过大时,迁移时间过长
方法三:本文需要详细说的一种办法(假设集群是三个节点)
1.新的集群(75,74,72)当作slave加入原集群中,等待同步数据2.等待数据同步完毕将其剔除集群3.关闭同步完的三台节点4.编辑nodes.conf文件原nodes.conf应该是这样4ce6e03ba48336569efcc7bbaab6edb538cb1a90 172.23.3.74:6379@16379 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536238939051 19 connectedaa8cf0b64f91c77846862909f9cec0c20ea54c1e 172.23.3.72:6379@16379 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536238941056 18 connected2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 master - 0 1536238940000 17 connected 0-502 1753-5930 12175-12671f2d9ac982c1d621850638a474ed4b8ffc5063d28 172.31.47.95:6379@16379 master - 0 1536238939000 18 connected 503-1752 5931-6380 10925-11274 12672-163834dd59a9480a669f308a6819a3538e3340ed855cf 172.23.3.75:6379@16379 myself,slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536238940000 0 connectedc4c7df1e21399984d909761441be80b178ef62a5 172.31.47.95:6380@16380 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536238941000 19 connected9a6307f16ea34354e701c4dbe04ecb5c77021938 172.31.37.24:6380@16380 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536238942381 18 connecteda7f923aaee624acf672f8704ffb4b27b48a56352 172.31.37.24:6379@16379 master - 0 1536238942061 19 connected 6381-10924 11275-121745dcc47b5477628895ce98e4c06f8e228a9c4fe5f 172.31.36.20:6380@16380 slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536238941373 17 connectedvars currentEpoch 19 lastVoteEpoch 0修改nodes.conf为4ce6e03ba48336569efcc7bbaab6edb538cb1a90 172.23.3.74:6379@16379 master - 0 1536238942061 19 connected 6381-10924 11275-12174aa8cf0b64f91c77846862909f9cec0c20ea54c1e 172.23.3.72:6379@16379 master - 0 1536238939000 18 connected 503-1752 5931-6380 10925-11274 12672-163834dd59a9480a669f308a6819a3538e3340ed855cf 172.23.3.75:6379@16379 myself,master - 0 1536238940000 17 connected 0-502 1753-5930 12175-12671vars currentEpoch 19 lastVoteEpoch 0以74为例,修改思路:找到74的主37.24,替换74的slot信息为37.24的slot信息master - 0 1536238942061 19 connected 6381-10924 11275-12174每台机器的master前面分别加上myself信息5.重启75,74,72三台的redis集群并校验可将2-5步写成脚本自动化完成,分钟级就可以复制出一套集群!
补充:还有可能是机房迁移,那样只需要一套集群可用就好了,这个需求更简单!
直接关掉原机房的redis服务,新机房的redis提升为master,修改域名解析就好了,切换过程如下
6379 down机后,6380会被提升为master,6379重启后会变成slave 加入到6380下cluster info变化流程如下:正常情况下[root@ip-172-31-36-20 ~]# /usr/local/redis/bin/redis-cli -a XSX7sOfvFeLEyXod -h 127.0.0.1 -p 6379 -c cluster nodesf2d9ac982c1d621850638a474ed4b8ffc5063d28 172.31.47.95:6379@16379 master - 0 1536302125000 18 connected 804-1752 5931-6380 10925-11274 12672-1638395c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536302126000 20 connecteda7f923aaee624acf672f8704ffb4b27b48a56352 172.31.37.24:6379@16379 master - 0 1536302126573 21 connected 787-803 6381-10924 11275-12174596012a79c3699692651fe47bc1a5a982762676a 172.31.47.95:6380@16380 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536302124569 21 connecteddd4d8dbe8aee4ef0e31b8908297ca64092302bfd 172.31.37.24:6380@16380 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536302125000 21 connected2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 myself,master - 1536291530036 1536291530036 20 connected 0-786 1753-5930 12175-12671down掉master 6379后[root@ip-172-31-36-20 ~]# /usr/local/redis/bin/redis-cli -a XSX7sOfvFeLEyXod -h 172.31.37.24 -p 6379 -c cluster nodes|grep -i 36a7f923aaee624acf672f8704ffb4b27b48a56352 172.31.37.24:6379@16379 myself,master - 1536291532036 1536291532036 21 connected 787-803 6381-10924 11275-1217495c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536302197019 20 connectedf2d9ac982c1d621850638a474ed4b8ffc5063d28 172.31.47.95:6379@16379 master - 0 1536302196019 18 connected 804-1752 5931-6380 10925-11274 12672-16383596012a79c3699692651fe47bc1a5a982762676a 172.31.47.95:6380@16380 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536302198019 18 connecteddd4d8dbe8aee4ef0e31b8908297ca64092302bfd 172.31.37.24:6380@16380 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536302195000 21 connected2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 master,fail - 1536302172919 1536302169019 20 disconnected 0-786 1753-5930 12175-12671几秒后选举成功,6380提升[root@ip-172-31-36-20 ~]# /usr/local/redis/bin/redis-cli -a XSX7sOfvFeLEyXod -h 172.31.37.24 -p 6379 -c cluster nodes|grep -i 36.2095c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 master - 0 1536302200019 22 connected 0-786 1753-5930 12175-126712d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 master,fail - 1536302172919 1536302169019 20 disconnected重启6379几秒后重新加入集群[root@ip-172-31-36-20 ~]# /usr/local/redis/bin/redis-cli -a XSX7sOfvFeLEyXod -h 172.31.37.24 -p 6379 -c cluster nodes|grep -i 36.2095c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 master - 0 1536302275023 22 connected 0-786 1753-5930 12175-126712d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 slave 95c8168dab83f7156c1b0ba34686917972259517 0 1536302273023 22 connected
集群
劣势
信息
工具
数据
方法
机房
同步
支持
文件
节点
需求
三台
成功
三个
办法
原因
域名
密码
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据存储及数据库安全技术
穿越火线 连接服务器失败
特招网络安全部队
称重打码数据库
csgo游戏如何连接服务器
可跨服购买的服务器
蚌埠求职招聘软件开发费用
服务器接口
苹果id链接服务器验证错误
表格填充数据库
西瓜视频服务器升级调整
触碰网络安全红线
服务器远程怎么
陕西学生网络安全教育视频
数据库说课稿
安卓软件开发考试
数据库修改操作有哪些
德国网络技术
网络安全工作中的建议
上海万通网络技术有限公司
中太服务器怎么样
黑客谈移动网络安全
定制软件开发公司发展方向
网络技术组成及分类
数据库中的关键字咋办
天刀人多的服务器
java服务器启动就执行
华为泰山服务器
安卓软件开发师是编程吗
oss会占用服务器带宽么