【Redis】redis-cluster到redis-cluster的快速复制
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,现有个需求是redis-cluster到redis-cluster的快速迁移,并且迁移过后两套redis-cluster都要独立使用无依赖方法一:使用前面redis迁移中的在线迁移工具redis-mi
千家信息网最后更新 2025年02月06日【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安全错误
数据库的锁怎样保障安全
网络安全简介及环境
软件开发企业品控部岗位职责
玩客云不能连接服务器
软件开发-北大青鸟
游戏免费加速服务器
得到app年度数据库
广州软件开发专业培训学校
蔚来汽车适合软件开发
关于网络安全故事的征文
海航软件开发费用是多少
双gpu服务器啥好处
杜甫数据库
图数据库专业术语
大学生网络安全怎样做
THread网络技术
分布式数据库发展路径研究
mysq1数据库
网络安全专业需要电脑配置
国内专业的数据库
保密网络安全三集中
长城超云服务器指示灯
采访软件开发创业者的感受
java服务器项目部署文档
企业硬盘就是服务器硬盘吗
二道区什么是网络安全创新服务
数据库创建完成后
同花顺服务器出问题了应该怎么做
专科软件开发项目资料整理
高科技互联网座椅
dnf登录不显示服务器怎么办