Redis数据迁移工具redis-shake的使用

1.简介

Redis-shake是阿里开源的使用golang语言开发的Redis数据同步工具,支持redis standalone、sentinel、cluster。

 github地址 https://github.com/alibaba/RedisShake

 支持的迁移模式:

decode: 把Redis RDB文件解析成人类可读的文件格式.

restore: 把Rdis RDB文件作为数据源,恢复到目标Redis实例中.

dump: 对源Redis实例中的数据dump到RDB文件中.

sync: 基于Redis sync/psync命令从源redis实例同步到目标Redis实例,该模式包含全量同步和增量同步两个阶段。(通过默认Redis Slave来实现).

rump: 基于Redis scan命令的方式从源Redis同步到目标Redis实例。只支持全量同步,这种方式通常适用于源redis不支持sync/psync命令的场景.

 

2.下载

wget  https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz    //下载

tar zxvf
release-v2.1.1-20210903.tar.gz //解压

 解压之后会看到以下文件,我们一般只会用到redis-shake.conf

 

3.配置文件修改:

单个节点到单个节点restore模式配置文件修改:

log.file =/opt/redis-shake/redis-shake.log      //工具运行日志文件路径

http_profile = -1                              //查看 metric 端口, -1 表示不启用. 如果是`restore`模式,只有设置为-1才会在完成RDB恢复后退出,否则会一直block。
source.address = 192.168.79.151:6379 //源端IP地址和端口 source.rdb.input = /mnt/data/redis/dump.rdb //源端RDB文件路径 target.address = 192.168.79.146:6379 //目的端IP地址和端口 target.rdb.output = /mnt/data/redis/redisdump.rdb //目的端RDB文件的存放路径 key_exists = rewrite //当源端和目的段有相同的key时,是否进行覆盖,“rewrite”表示覆盖目的段的key值

 

 

4.执行启动命令:

./redis-shake.linux -type=restore -conf=redis-shake.conf     //restore模式

 

 

 

 

 

posted @ 2022-01-16 00:29  Active_Sentinel  阅读(1051)  评论(0编辑  收藏  举报