redis 备份导出rdb_Redis数据迁移利器之redisshake
“
当需要进行Redis实例或集群数据迁移时,我们可以采用导出/导入的方式进行数据迁移,但当需要做数据异地灾备或双活时,再使用传统的方式就不合适了,我们需要借助工具(如redis-port/redis-shake)来完成。
”
redis-shake介绍
redis-shake就是一款非常好用的工具,可以支持备份、恢复、解析、同步等功能,主要的功能有:
- decode,对RDB文件进行读取,并以json格式存储
- restore,将RDB文件恢复到目的Redis服务器
- dump,将源Redis服务器的数据通过RDB文件的方式保存下来
- sync,支持源Redis和目的Redis的数据同步,通过模拟成Slave(使用psync),支持全量和增量数据的同步,对单节点、主从、集群环境之间进行同步(2.8-5.0版本,codis环境),也支持云上环境
- rump,使用scan和restore命令进行数据迁移,对不支持psync命令的环境可以使用这种方式,仅支持全量的数据迁移
数据迁移原理
redis-shake通过模拟成一个从节点加入到源Redis,进行全量拉取并回放,然后进行增量的拉取。
其对大key的同步支持分批拉取,同时提供监控数据。
迁移演练
如从云上Redis迁移到线下Redis:
./redis-shake.linux \-type sync \-conf redis-shake.conf
参考配置文件:
# idid = redis-shake# parallel routines number used in RDB file syncing.parallel = 4# source redis configuration.# used in `dump` and `sync`.# ip:portsource.address = 172.17.134.223:6379# password.source.password_raw = xxx# auth type, don't modify itsource.auth_type = auth# version number, default is 6 (6 for Redis Version <= 3.0.7, 7 for >=3.2.0)source.version = 6
# target redis configuration. used in `restore` and `sync`.# used in `restore` and `sync`.# ip:porttarget.address = 10.0.2.23:6379# password.target.password_raw = xx# auth type, don't modify ittarget.auth_type = auth# version number, default is 6 (6 for Redis Version <= 3.0.7, 7 for >=3.2.0)target.version = 6# all the data will come into this db. # used in `restore` and `sync`.target.db = -1# big key threshold, the default is 500 * 1024 * 1024. The field of the big key will be split in processing.big_key_threshold = 524288000# use psync command.# used in `sync`.# 默认使用sync命令,启用将会使用psync命令psync = false
同时也提供迁移的状态监控:
curl 127.0.0.1:9320/metric|jq
数据一致性校验
迁移后数据的一致性使用redis-full-check进行检查,通过多次对比的方式进行源端和目的端的数据校验,每次都会抓取源和目的端的数据进行差异化比较,记录不一致的数据(存储在sqlite3中)进入下一轮对比,支持对key、value或两者的一致性进行校验。
云上服务之间我们可以使用DTS来进行,毕竟是付费服务,相对来说更简单,需要在Redis服务上创建复制类型的账号。
redis 备份导出rdb_Redis数据迁移利器之redisshake相关推荐
- redis 备份导出rdb_redis简单安装学习
redis 介绍 Redis是noSql也就是非关系型数据库,可以用来做缓存,缓存就是在内存中存储的数据备份,当数据没有发生本质改变的时候,我们就不让数据的查询去数据库进行操作,而去内存中取数据,这样 ...
- redis 备份导出rdb_Redis持久化知识点—RDB+AOF ,你了解多少
本文主要深入了解RDB和AOF这两种持久化的逻辑和原理,喜欢的朋友欢迎点赞,写得不对的也请大佬多多批评和指正,以期共同进步,谢谢啦. RDB的原理 RDB持久化存储即是将redis存在内存中的数据以快 ...
- redis 备份导出rdb_Redis学习——Redis持久化之RDB备份方式保存数据
从这一个介绍里面知道,redis比memcache作为缓存数据库强大的地方,一个是支持的数据类型比较多,另一个就是redis持久化功能. 下面就介绍Redis的持久化之RDB! 一:什么是redis的 ...
- TiDB数据库备份恢复与数据迁移
TiDB数据库备份恢复与数据迁移 数据迁移 使用 mydumper/loader 全量导入数据 mydumper/loader 全量导入数据最佳实践 某次导入示例,以及相关的配置 从 MySQL 导出 ...
- 系统重构数据同步利器之Canal实战篇
一.背景 二话不说,先上图 上图来自于官网(https://github.com/alibaba/canal),基本上涵盖了目前生产环境使用场景了,众所周知,Canal做数据同步已经是行业内标杆了.我 ...
- 版本管理工具Subversion Edge的备份恢复与数据迁移方案
软件开发生命周期中会使用到多种工具,这些工具的更迭与迁移,备份与恢复都构成了软件开发生命周期的重要部分.这篇文章以当下最新版本的Subversion Edge为例介绍一下其备份恢复与数据迁移方案,因相 ...
- 数据同步利器之Tapdata Cloud
一.数据同步概述 数据同步,顾名思义就是对不同系统之间的数据进行同步处理.开发过程中遇到数据同步需求有很多,比如数据冗余备份.缓存实时更新.不同系统间基础数据实时同步等.同步方案的选择,需要根据具体的 ...
- redis哨兵集群数据迁移_redis集群数据迁移—redis-migrate-tool神器
往常大家对数据的迁移可能会想到mysql.mongodb.oracle等数据库的迁移,对redis数据的迁移可能比较少,因为redis平时都是用来做缓存用,里面的数据无所谓.因为某些特殊场景下,red ...
- 混合云备份服务 > 数据迁移 > 文件同步 > ECS同步到NAS教程 > 文件同步
文件同步 更新时间:2020-04-22 17:06:26 本页目录 步骤一:创建源数据地址 步骤二:创建目的数据地址 步骤三:创建同步任务 文件同步会占用源地址和目的地址的网络资源.若您的业务比较重 ...
最新文章
- IDA Pro 修改默认名称
- 机房六大安防系统常见故障原因及处理方法
- C# int.Parse()与int.TryParse():将字符串转化为整数
- 在Win平台得到磁盘、CPU、用户信息
- rabbitmq进阶一
- gitlab修改管理员密码流程
- mysql gtids_MySQL GTIDs(global transaction identifiers)
- javascript使用栈结构将中缀表达式转换为后缀表达式并计算值
- 手机“开口”,化身“智能机器人”
- ie浏览器打不开闪退_点开IE浏览器的时候总是闪退
- Ubuntu14.04安装文泉驿字体
- 谷歌浏览器插件之广告净化器
- i18n国际语言代码对照表
- Python绘制计算机CPU占有率变化的折线图
- linux yum下载不安装,CentOS 7设置yum仅仅下载rpm不安装总结
- Element动态换肤
- nginx: [emerg] could not build server_names_hash
- openpose handpose 人体关键点识别 关键点检测
- 【数据结构】第六章——图(详解)
- css 侧栏跟随_JS+CSS实现侧边栏跟随浏览器滚动效果
热门文章
- 关于React-native的介绍以及环境搭建
- JZTK项目 驾照题库项目servlet层得到的json字符串在浏览器中 汉字部分出现问号?无法正常显示的解决方法
- CSS border-radius边框圆角
- 用jQuery监听浏览器窗口的变化
- 关于 Nuxt 集成ueditor的一些坑(包括图片上传)前端部分
- springmvc mybatis 做分页sql 语句
- 解读阿里巴巴集团的“大中台、小前台”组织战略
- HDU 5025Saving Tang Monk BFS + 二进制枚举状态
- html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?...
- android fragmentactivity fragment,Android:Activity与Fragment通信(99%)完美解决方案