redis-migrate-tool工具是由唯品会开源的,用于在多种redis架构间迁移数据。该工具基于redis复制,在迁移过程中,源redis集群仍可对外提供服务;若目标集群是Twemproxy,其会将数据直接导入后端的redis节点;能通过监控端口,查看迁移状态,且迁移完成后,可进行抽样检查。
安装redis-migrate-tool
# yum install automake libtool autoconf bzip2 -y
# git clone https://github.com/vipshop/redis-migrate-tool.git
# cd redis-migrate-tool
# autoreconf -fvi
# ./configure
# make
# src/redis-migrate-tool -h
This is redis-migrate-tool-0.1.0
...
redis-migrate-tool工具依据配置文件的配置,完成从源redis集群到目标集群的数据迁移。配置文件包括3部分:source,target和common。如下以从Redis CLuster迁移数据到Twemproxy集群为例,看下整个过程。
$ cat rmt.conf
[source]
type: redis cluster
servers:
- 127.0.0.1:6879
[target]
type: twemproxy
hash: fnv1a_64
distribution: ketama
redis_auth: abcdefg
servers:
- 127.0.0.1:6379:1
- 127.0.0.1:6389:1
[common]
listen: 0.0.0.0:8888
step: 1
mbuf_size: 512
迁移开始
$ redis-migrate-tool -c rmt.conf -o rmt.log -d
观察迁移进度
$ tail -f rmt.log
...
观察迁移状态
$ redis-cli -p 8888
127.0.0.1:8888> info
# Server
version:0.1.0
...
退出工具
127.0.0.1:8888> shutdown
not connected>
抽样检查迁移结果
$ redis-migrate-tool -c rmt.conf -C redis_check
Checked keys: 1000
Inconsistent value keys: 0
...
Check job finished, used 0.043s
若感兴趣可关注订阅号”数据库最佳实践”(DBBestPractice).
原文地址:http://blog.51cto.com/coveringindex/2153096