【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劣势:步骤相对麻烦,档redisrdb文件过大时,迁移时间过长
方法三:本文需要详细说的一种办法(假设集群是三个节点)
1.新的集群(75,74,72)当作slave加入原集群中,等待同步数据2.等待数据同步完毕将其剔除集群3.关闭同步完的三台节点4.编辑nodes.conf文件原nodes.conf应该是这样4ce6e03ba48336569efcc7bbaab6edb538cb1a90172.23.3.74:6379@16379slavea7f923aaee624acf672f8704ffb4b27b48a563520153623893905119connectedaa8cf0b64f91c77846862909f9cec0c20ea54c1e172.23.3.72:6379@16379slavef2d9ac982c1d621850638a474ed4b8ffc5063d280153623894105618connected2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90172.31.36.20:6379@16379master-0153623894000017connected0-5021753-593012175-12671f2d9ac982c1d621850638a474ed4b8ffc5063d28172.31.47.95:6379@16379master-0153623893900018connected503-17525931-638010925-1127412672-163834dd59a9480a669f308a6819a3538e3340ed855cf172.23.3.75:6379@16379myself,slave2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90015362389400000connectedc4c7df1e21399984d909761441be80b178ef62a5172.31.47.95:6380@16380slavea7f923aaee624acf672f8704ffb4b27b48a563520153623894100019connected9a6307f16ea34354e701c4dbe04ecb5c77021938172.31.37.24:6380@16380slavef2d9ac982c1d621850638a474ed4b8ffc5063d280153623894238118connecteda7f923aaee624acf672f8704ffb4b27b48a56352172.31.37.24:6379@16379master-0153623894206119connected6381-1092411275-121745dcc47b5477628895ce98e4c06f8e228a9c4fe5f172.31.36.20:6380@16380slave2d21ca5d5504b6e8bf283d4a3d0f390ab0258b900153623894137317connectedvarscurrentEpoch19lastVoteEpoch0修改nodes.conf为4ce6e03ba48336569efcc7bbaab6edb538cb1a90172.23.3.74:6379@16379master-0153623894206119connected6381-1092411275-12174aa8cf0b64f91c77846862909f9cec0c20ea54c1e172.23.3.72:6379@16379master-0153623893900018connected503-17525931-638010925-1127412672-163834dd59a9480a669f308a6819a3538e3340ed855cf172.23.3.75:6379@16379myself,master-0153623894000017connected0-5021753-593012175-12671varscurrentEpoch19lastVoteEpoch0以74为例,修改思路:找到74的主37.24,替换74的slot信息为37.24的slot信息master-0153623894206119connected6381-1092411275-12174每台机器的master前面分别加上myself信息5.重启75,74,72三台的redis集群并校验可将2-5步写成脚本自动化完成,分钟级就可以复制出一套集群!
补充:还有可能是机房迁移,那样只需要一套集群可用就好了,这个需求更简单!
直接关掉原机房的redis服务,新机房的redis提升为master,修改域名解析就好了,切换过程如下
6379down机后,6380会被提升为master,6379重启后会变成slave加入到6380下clusterinfo变化流程如下:正常情况下[root@ip-172-31-36-20~]#/usr/local/redis/bin/redis-cli-aXSX7sOfvFeLEyXod-h127.0.0.1-p6379-cclusternodesf2d9ac982c1d621850638a474ed4b8ffc5063d28172.31.47.95:6379@16379master-0153630212500018connected804-17525931-638010925-1127412672-1638395c8168dab83f7156c1b0ba34686917972259517172.31.36.20:6380@16380slave2d21ca5d5504b6e8bf283d4a3d0f390ab0258b900153630212600020connecteda7f923aaee624acf672f8704ffb4b27b48a56352172.31.37.24:6379@16379master-0153630212657321connected787-8036381-1092411275-12174596012a79c3699692651fe47bc1a5a982762676a172.31.47.95:6380@16380slavef2d9ac982c1d621850638a474ed4b8ffc5063d280153630212456921connecteddd4d8dbe8aee4ef0e31b8908297ca64092302bfd172.31.37.24:6380@16380slavea7f923aaee624acf672f8704ffb4b27b48a563520153630212500021connected2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90172.31.36.20:6379@16379myself,master-1536291530036153629153003620connected0-7861753-593012175-12671down掉master6379后[root@ip-172-31-36-20~]#/usr/local/redis/bin/redis-cli-aXSX7sOfvFeLEyXod-h172.31.37.24-p6379-cclusternodes|grep-i36a7f923aaee624acf672f8704ffb4b27b48a56352172.31.37.24:6379@16379myself,master-1536291532036153629153203621connected787-8036381-1092411275-1217495c8168dab83f7156c1b0ba34686917972259517172.31.36.20:6380@16380slave2d21ca5d5504b6e8bf283d4a3d0f390ab0258b900153630219701920connectedf2d9ac982c1d621850638a474ed4b8ffc5063d28172.31.47.95:6379@16379master-0153630219601918connected804-17525931-638010925-1127412672-16383596012a79c3699692651fe47bc1a5a982762676a172.31.47.95:6380@16380slavef2d9ac982c1d621850638a474ed4b8ffc5063d280153630219801918connecteddd4d8dbe8aee4ef0e31b8908297ca64092302bfd172.31.37.24:6380@16380slavea7f923aaee624acf672f8704ffb4b27b48a563520153630219500021connected2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90172.31.36.20:6379@16379master,fail-1536302172919153630216901920disconnected0-7861753-593012175-12671几秒后选举成功,6380提升[root@ip-172-31-36-20~]#/usr/local/redis/bin/redis-cli-aXSX7sOfvFeLEyXod-h172.31.37.24-p6379-cclusternodes|grep-i36.2095c8168dab83f7156c1b0ba34686917972259517172.31.36.20:6380@16380master-0153630220001922connected0-7861753-593012175-126712d21ca5d5504b6e8bf283d4a3d0f390ab0258b90172.31.36.20:6379@16379master,fail-1536302172919153630216901920disconnected重启6379几秒后重新加入集群[root@ip-172-31-36-20~]#/usr/local/redis/bin/redis-cli-aXSX7sOfvFeLEyXod-h172.31.37.24-p6379-cclusternodes|grep-i36.2095c8168dab83f7156c1b0ba34686917972259517172.31.36.20:6380@16380master-0153630227502322connected0-7861753-593012175-126712d21ca5d5504b6e8bf283d4a3d0f390ab0258b90172.31.36.20:6379@16379slave95c8168dab83f7156c1b0ba346869179722595170153630227302322connected
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。