redis的数据迁移

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).

qrcode_for_gh_54ffa7e55478_258.jpg

猜你喜欢

转载自blog.51cto.com/coveringindex/2153097
今日推荐