展开索引
Redis-migrate-tool是Redis集群快速迁移工具,基于redis的复制功能,快速,稳定。
Redis-migrate-tool的特点
- 快速
- 多线程
- 基于redis复制功能
- 实时迁移
- 迁移过程中,源集群不影响对外提供服务
- 异构迁移
- 支持Twemproxy集群,redis cluster集群,rdb文件 和 aof文件
- 过滤功能
- 当目标集群是Twemproxy,数据会跳过Twemproxy直接导入到后端的redis
- 迁移状态显示
- 完善的数据抽样校验
迁移工具的来源可以是:单独的redis实例,twemproxy集群,redis cluster,rdb文件,aof文件。
迁移工具的目标可以是:单独的redis实例,twemproxy集群,redis cluster,rdb文件。
Redis-migrate-tool版本说明
https://github.com/vipshop/redis-migrate-tool #仅支持redis3及以下版本
https://github.com/tanruixing88/redis-migrate-tool #基于上述版本修改,支持redis4及以上版本
Redis-migrate-tool编译所需依赖包
yum -y install automake libtool autoconf bzip2
Redis-migrate-tool的安装
git clone https://github.com/tanruixing88/redis-migrate-tool.git
redis-migrate-tool
autoreconf -fvi
./configure
make
cp src/redis-migrate-tool /usr/local/bin/redis-migrate-tool
Redis-migrate-tool的配置
配置文件rmt.conf
配置文件示例:从redis cluster集群迁移数据到twemproxy集群
[source]
type: redis cluster
servers:
- 127.0.0.1:6379
- 127.0.0.1:6380
- 127.0.0.1:6381
- 127.0.0.1:6382
[target]
type: twemproxy
hash: fnv1a_64
hash_tag: "{}"
distribution: ketama
servers:
- 127.0.0.1:6380:1 server1
- 127.0.0.1:6381:1 server2
- 127.0.0.1:6382:1 server3
- 127.0.0.1:6383:1 server4
[common]
listen: 0.0.0.0:8888
threads: 2
step: 1
mbuf_size: 1024
source_safe: true
配置文件示例:从redis cluster集群迁移数据到另外一个cluster集群
[source]
type: redis cluster
servers:
- 127.0.0.1:8379
[target]
type: redis cluster
servers:
- 127.0.0.1:7379
[common]
listen: 0.0.0.0:8888
配置文件示例:从rdb文件恢复数据到redis cluster集群
[source]
type: rdb file
servers:
- /data/redis/dump1.rdb
- /data/redis/dump2.rdb
- /data/redis/dump3.rdb
[target]
type: redis cluster
servers:
- 127.0.0.1:7379
[common]
listen: 0.0.0.0:8888
Redis-migrate-tool的启动
/usr/local/bin/redis-migrate-tool -c rmt.conf -o log -d
Redis-migrate-tool的状态查看
通过redis-cli连接redis-migrate-tool监控的端口,运行info命令
Redis-migrate-tool的数据校验检查
/usr/local/bin/redis-migrate-tool -c rmt.conf -o log -C redis_check
Check job is running...
Checked keys: 1000
Inconsistent value keys: 0
Inconsistent expire keys : 0
Other check error keys: 0
Checked OK keys: 1000
All keys checked OK!
Check job finished, used 1.041s
本文来源于: https://linuxeye.com/472.html