ysoren 发表于 2018-11-2 09:08:25

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
  
  type: redis cluster
  servers:
  - 127.0.0.1:6879
  
  type: twemproxy
  hash: fnv1a_64
  distribution: ketama
  redis_auth: abcdefg
  servers:
  - 127.0.0.1:6379:1
  - 127.0.0.1:6389:1
  
  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).


页: [1]
查看完整版本: redis的数据迁移