广告
返回顶部
首页 > 资讯 > 数据库 >【Redis】redis-cluster到redis-cluster的快速复制
  • 970
分享到

【Redis】redis-cluster到redis-cluster的快速复制

2024-04-02 19:04:59 970人浏览 八月长安
摘要

现有个需求是Redis-cluster到redis-cluster的快速迁移,并且迁移过后两套redis-cluster都要独立使用无依赖 方法一:使用前面redis迁移中的在线迁移工具 r

现有个需求是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 connected
aa8cf0b64f91c77846862909f9cec0c20ea54c1e 172.23.3.72:6379@16379 slave f2d9ac982c1d621850638a474ed4b8ffc5063D28 0 1536238941056 18 connected
2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 master - 0 1536238940000 17 connected 0-502 1753-5930 12175-12671
f2d9ac982c1d621850638a474ed4b8ffc5063d28 172.31.47.95:6379@16379 master - 0 1536238939000 18 connected 503-1752 5931-6380 10925-11274 12672-16383
4dd59a9480a669f308a6819a3538e3340ed855cf 172.23.3.75:6379@16379 myself,slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536238940000 0 connected
c4c7df1e21399984d909761441be80b178ef62a5 172.31.47.95:6380@16380 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536238941000 19 connected
9a6307f16ea34354e701c4dbe04ecb5c77021938 172.31.37.24:6380@16380 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536238942381 18 connected
a7f923aaee624acf672f8704ffb4b27b48a56352 172.31.37.24:6379@16379 master - 0 1536238942061 19 connected 6381-10924 11275-12174
5dcc47b5477628895ce98e4c06f8e228a9c4fe5f 172.31.36.20:6380@16380 slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536238941373 17 connected
vars currentEpoch 19 lastVoteEpoch 0
修改nodes.conf为
4ce6e03ba48336569efcc7bbaab6edb538cb1a90 172.23.3.74:6379@16379 master - 0 1536238942061 19 connected 6381-10924 11275-12174
aa8cf0b64f91c77846862909f9cec0c20ea54c1e 172.23.3.72:6379@16379 master - 0 1536238939000 18 connected 503-1752 5931-6380 10925-11274 12672-16383
4dd59a9480a669f308a6819a3538e3340ed855cf 172.23.3.75:6379@16379 myself,master - 0 1536238940000 17 connected 0-502 1753-5930 12175-12671
vars 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 nodes
f2d9ac982c1d621850638a474ed4b8ffc5063d28 172.31.47.95:6379@16379 master - 0 1536302125000 18 connected 804-1752 5931-6380 10925-11274 12672-16383
95c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536302126000 20 connected
a7f923aaee624acf672f8704ffb4b27b48a56352 172.31.37.24:6379@16379 master - 0 1536302126573 21 connected 787-803 6381-10924 11275-12174
596012a79c3699692651fe47bc1a5a982762676a 172.31.47.95:6380@16380 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536302124569 21 connected
dd4d8dbe8aee4ef0e31b8908297ca64092302bfd 172.31.37.24:6380@16380 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536302125000 21 connected
2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 myself,master - 1536291530036 1536291530036 20 connected 0-786 1753-5930 12175-12671
down掉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 36
a7f923aaee624acf672f8704ffb4b27b48a56352 172.31.37.24:6379@16379 myself,master - 1536291532036 1536291532036 21 connected 787-803 6381-10924 11275-12174
95c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 slave 2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 0 1536302197019 20 connected
f2d9ac982c1d621850638a474ed4b8ffc5063d28 172.31.47.95:6379@16379 master - 0 1536302196019 18 connected 804-1752 5931-6380 10925-11274 12672-16383
596012a79c3699692651fe47bc1a5a982762676a 172.31.47.95:6380@16380 slave f2d9ac982c1d621850638a474ed4b8ffc5063d28 0 1536302198019 18 connected
dd4d8dbe8aee4ef0e31b8908297ca64092302bfd 172.31.37.24:6380@16380 slave a7f923aaee624acf672f8704ffb4b27b48a56352 0 1536302195000 21 connected
2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 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.20
95c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 master - 0 1536302200019 22 connected 0-786 1753-5930 12175-12671
2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 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.20
95c8168dab83f7156c1b0ba34686917972259517 172.31.36.20:6380@16380 master - 0 1536302275023 22 connected 0-786 1753-5930 12175-12671
2d21ca5d5504b6e8bf283d4a3d0f390ab0258b90 172.31.36.20:6379@16379 slave 95c8168dab83f7156c1b0ba34686917972259517 0 1536302273023 22 connected


您可能感兴趣的文档:

--结束END--

本文标题: 【Redis】redis-cluster到redis-cluster的快速复制

本文链接: https://www.lsjlt.com/news/46244.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Redis】redis-cluster到redis-cluster的快速复制
    现有个需求是redis-cluster到redis-cluster的快速迁移,并且迁移过后两套redis-cluster都要独立使用无依赖 方法一:使用前面redis迁移中的在线迁移工具 r...
    99+
    2022-10-18
  • redis迁移数据到redis-cluster的方法是什么
    本篇内容介绍了“redis迁移数据到redis-cluster的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2022-10-19
  • redis-cluster的安装管理
    redis-cluster的安装管理 声明:本文只允许用于个人学习交流使用,如有错误之处请多多指正。文档版本:Version 1.0修改记录:2015-10-30环境介绍系统环境:RedHat E...
    99+
    2022-10-18
  • Redis Cluster到底会不会丢数据
    这篇文章给大家介绍Redis Cluster到底会不会丢数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Redis Cluster 会丢数据吗?Redi...
    99+
    2022-10-18
  • Redis中redis-cluster如何删除指定的key
    这篇文章主要为大家展示了“Redis中redis-cluster如何删除指定的key”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis中redis-clu...
    99+
    2022-10-18
  • Redis中Cluster的示例分析
    小编给大家分享一下Redis中Cluster的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.1 Redis-Clus...
    99+
    2022-10-18
  • Redis中的Cluster集群介绍
    这篇文章主要介绍“Redis中的Cluster集群介绍”,在日常操作中,相信很多人在Redis中的Cluster集群介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redi...
    99+
    2022-10-18
  • Redis Cluster 宕机引发的事故
    导读:Redis官方号称支持并发11万读操作,并发8万写操作。由于优异的性能和方便的操作,相信很多人都在项目中都使用了Redis,为了不让应用过分的依赖 Redis服务,Redis的作用只作为提升应用并发和...
    99+
    2022-10-18
  • Redis6.0搭建集群Redis-cluster的方法
    此处以三台服务器部署为例,IP地址分别为192.168.124.23,192.168.124.24,192.168.124.25 使用普通用户ubuntu登录 总共三个主节点和三个从...
    99+
    2022-11-12
  • k8s部署redis cluster集群的实现
    目录Redis 介绍为什么要用Redis什么是Redis Cluster集群k8s以StatefulSet方式部署redis cluster集群:部署nfs创建pv部署redis初始...
    99+
    2022-11-12
  • Redis中cluster集群的示例分析
    这篇文章主要为大家展示了“Redis中cluster集群的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis中cluster集群的示例分析”这篇文...
    99+
    2022-10-18
  • redis cluster支持pipeline的实现思路
    什么是pipeLine 为什么使用pipeLine ? 上篇文章给大家介绍过redis为什么要提供pipeline功能 今天给大家普及redis cluster如...
    99+
    2022-11-12
  • Redis Cluster集群数据分片机制是什么
    小编这次要给大家分享的是Redis Cluster集群数据分片机制是什么,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。Redis Cluster数据分片机制Redis...
    99+
    2022-10-18
  • Redis Cluster集群动态扩容的实现
    目录一、引言 二、Cluster集群增加操作1、动态增加Master主服务器节点 2、动态增加Slave从服务器节点 三、Cluster集群删除操作 1、动态删除Slave从服务器节...
    99+
    2022-11-12
  • Redis cluster集群模式的原理解析
    redis cluster redis cluster是Redis的分布式解决方案,在3.0版本推出后有效地解决了redis分布式方面的需求 自动将数据进行分片,每个master上放...
    99+
    2022-11-12
  • 怎么用docker部署redis cluster的方法
    这篇文章将为大家详细讲解有关怎么用docker部署redis cluster的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言由于本人是个docker控,不喜欢安装各种环境,而且安装redis-tr...
    99+
    2023-06-07
  • MySQL快速迁移到Redis方法
    本文主要给大家介绍MySQL快速迁移到Redis方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL快速迁移到Redis方法吧。 ...
    99+
    2022-10-18
  • Redis的Cluster集群搭建的实现步骤
    目录一、引言二、Redis的Cluster模式介绍1、Redis群集101 2、Redis群集TCP端口 3、Redis集群和Docker 4、Redis集群数据分片 5、Redis...
    99+
    2022-11-12
  • 记一次 Redis Cluster 宕机引发的事故
    导读:Redis官方号称支持并发11万读操作,并发8万写操作。由于优异的性能和方便的操作,相信很多人都在项目中都使用了Redis,为了不让应用过分的依赖 Redis服务,Redis的作用只作为提升应用并发和...
    99+
    2022-10-18
  • Redis Cluster添加、删除的完整操作步骤
    前言 最近学习了Redis,发现Redis还是挺好玩的,今天测试了集群的添加、删除节点、重分配slot等。更深入的理解redis的游戏规则。步骤繁多,但是详细,话不多说了,来一起看看详细的介绍吧。 环境解释...
    99+
    2022-06-04
    操作步骤 完整 Redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作