Redis-Migrate-Tool

Redis ​集群迁移工具
授权协议 Apache
开发语言 C/C++
所属分类 服务器软件、 集群/负载均衡
软件类型 开源软件
地区 国产
投 递 者 柯书
操作系统 UNIX
开源组织
适用人群 未知
 软件概览

Redis 集群迁移工具,基于redis复制,快速,稳定。

特点:

  • 快速。
  • 多线程。
  • 基于redis复制。
  • 实时迁移。
  • 迁移过程中,源集群不影响对外提供服务。
  • 异构迁移。
  • 支持Twemproxy集群,redis cluster集群,rdb文件 和 aof文件。
  • 过滤功能。
  • 当目标集群是Twemproxy,数据会跳过Twemproxy直接导入到后端的redis。
  • 迁移状态显示。
  • 完善的数据抽样校验。

 

迁移工具的来源可以是:单独的redis实例,twemproxy集群,redis cluster,rdb文件,aof文件。

迁移工具的目标可以是:单独的redis实例,twemproxy集群,redis cluster,rdb文件。

 

软件编译安装:

$ cd redis-migrate-tool
$ autoreconf -fvi
$ ./configure
$ make
$ src/redis-migrate-tool -h

软件运行:

src/redis-migrate-tool -c rmt.conf -o log -d

配置文件示例:从redis cluster集群迁移数据到twemproxy集群

[source]
type: redis cluster
servers:
- 127.0.0.1:6379

[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:34345
threads: 8
step: 1
mbuf_size: 512
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-cli连接redis-migrate-tool监控的端口,运行info命令

$redis-cli -h 127.0.0.1 -p 8888
127.0.0.1:8888> info
# Server
version:0.1.0
os:Linux 2.6.32-573.12.1.el6.x86_64 x86_64
multiplexing_api:epoll
gcc_version:4.4.7
process_id:9199
tcp_port:8888
uptime_in_seconds:1662
uptime_in_days:0
config_file:/ect/rmt.conf

# Clients
connected_clients:1
max_clients_limit:100
total_connections_received:3

# Memory
mem_allocator:jemalloc-4.0.4

# Group
source_nodes_count:32
target_nodes_count:48

# Stats
all_rdb_received:1
all_rdb_parsed:1
rdb_received_count:32
rdb_parsed_count:32
total_msgs_recv:7753587
total_msgs_sent:7753587
total_net_input_bytes:234636318
total_net_output_bytes:255384129
total_net_input_bytes_human:223.77M
total_net_output_bytes_human:243.55M
total_mbufs_inqueue:0
total_msgs_outqueue:0
127.0.0.1:8888>

数据校验:

$src/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
  • redis-migrate-tool 简介 redis-migrate-tool 是一个很方便并且很有用的工具,它用于在redis之间进行数据迁移。 git地址 https://github.com/vipshop/redis-migrate-tool 特点 快速。 多线程。 基于redis复制。 实时迁移。 迁移过程中,源集群不影响对外提供服务。 异构迁移。 支持Twemproxy集群,red

  • Redis 数据迁移篇之redis-migrate-tool工具使用手册 Redis-Migrate-Tool(都简称RMT),是唯品会开源的redis数据迁移工具,主要用于异构redis集群间的数据在线迁移,即数据迁移过程中源集群仍可以正常接受业务读写请求,无业务中断服务时间。 支持下面几种异构集群之间的数据迁移和同构集群扩容/缩容。 1)单个redis到twemproxy/cluster迁移

  • 前言 redis-migrate-tool 是维品会开源的一款redis数据迁移工具,基于redis复制,快速,稳定,github地址为:https://github.com/vipshop/redis-migrate-tool 快速。 多线程。 基于redis复制。 实时迁移。 迁移过程中,源集群不影响对外提供服务。 异构迁移。 支持Twemproxy集群,redis cluster集群,rdb

  • 工具特性 快速 多线程 基于redis复制 实时迁移 迁移过程中,源集群不影响对外提供服务 异构迁移 支持Twemproxy集群,redis cluster集群,rdb文件 和 aof文件。 过滤功能 当目标集群是Twemproxy,数据会跳过Twemproxy直接导入到后端的redis 迁移状态显示 完善的数据抽样校验(-C redis_check) redis-migrate-tool 是维品

  • 一、问题提出         随着业务量的增长,主从复制的redis架构中,单实例的OPS已经接近峰值,很自然想到了数据水平分片。redis 3.0版的一大特性就是支持数据分片的集群功能。集群的特点在于拥有和单机实例同样的性能,同时在网络分区后能够提供一定的可访问性以及对主库故障恢复的支持。哨兵与集群是两个独立的功能,但从特性来看哨兵可以视为集群的子集,当不需要数据分片或者在客户端进行分片的场景下

  • 在线迁移 redis-migrate-tool启动后模拟成redis slave,请求master的全量数据和增量数据。redis-migrate-tool 收到数据之后解析成redis协议格式的oplog(写操作),然后发送给目标集群。 有两种请求方式: 1、source_safe: true,对于同一ip上的redis,逐个的请求全量数据(RDB); 2、source_safe: false,

  • redis-migrate-tool redis-migrate-tool是唯品会开源的redis迁移工具,可以实现热迁移,实现aof/rdb文件迁移,可以全量或增量迁移,可以异构集群迁移,可以辅助check迁移后的数据质量,简直好用! git地址:https://github.com/vipshop/redis-migrate-tool 迁移任务描述 两个测试服务器集群,需要将8亿数据从3节点集

  • 目录 一、问题提出 二、关于redis-migrate-tool 三、实验 1. 建议集群redis 2. 建立单实例redis 3. 源码安装redis-migrate-tool 4. 配置redis-migrate-tool 5. 测试 四、业务切换 五、注意事项 参考: 一、问题提出         随着业务量的增长,主从复制的redis架构中,单实例的OPS已经接近峰值,很自然想到了数据水

  • Redis-Migrate-Tool 使用详解 Redis 集群迁移工具,基于redis复制,快速,稳定。 github链接:https://github.com/vipshop/redis-migrate-tool 特点: 快速。 多线程。 基于redis复制。 实时迁移。 迁移过程中,源集群不影响对外提供服务。 异构迁移。 支持Twemproxy集群,redis cluster集群,rdb文件

  • 使用redis-migrate-tool的时候,有可能抛出以下错误 [2019-10-18 04:05:49.267] rmt_redis.c:6446 ERROR: Can't handle RDB format version 839003080 [2019-10-18 04:05:49.267] rmt_redis.c:6715 ERROR: Rdb file for node[127.0.

  • Redis-Migrate-Tool 使用详解 Redis 集群迁移工具,基于redis复制,快速,稳定。  github链接:https://github.com/vipshop/redis-migrate-tool 特点: •快速。 •多线程。 •基于redis复制。 •实时迁移。 •迁移过程中,源集群不影响对外提供服务。 •异构迁移。 •支持Twemproxy集群,redis cluster

  • 1、安装依赖 yum -y install automake libtool autoconf bzip2 2、编译安装 mkdir -p /usr/local/software && cd /usr/local/software 安装git yum install git -y clone 源码 git clone https://github.com/tanruixing88/redis

  • REDIS 版本 < 4.0 笔者用的是 v=3.0.7 REDIS集群创建镜像:registry.cn-shenzhen.aliyuncs.com/cp_m/redis-trib:0.1.3 REDIS节点镜像:registry.cn-shenzhen.aliyuncs.com/cp_m/redis:3.0.7 REDIS数据同步工具:https://github.com/vipshop/red

  • 因为工作原因,需要用到redis迁移工具,这里记录下防止后面再用到。   环境:centos7.2 X64_64   编译步骤: yum install autoconf automake libtool bzip2 ### 原生唯品会出的rmt版本比较老,不支持redis4.X。这里我们下载这里别人修改版的,支持redis4.X的迁移 git clone https://github.com/

  • Redis-Migrate-Tool 使用详解 Redis 集群迁移工具,基于redis复制,快速,稳定。 github链接:https://github.com/vipshop/redis-migrate-tool 特点: •快速。 •多线程。 •基于redis复制。 •实时迁移。 •迁移过程中,源集群不影响对外提供服务。 •异构迁移。 •支持Twemproxy集群,redis cluster

 相关资料
  • 名称: aof_to_pika 位置: pika bin目录下 目的: 方便Redis数据到Pika的迁移 背景: Pika兼容Redis协议,所以任何使用于Redis的迁移工具同样也适用于Pika,Redis-cli本身提供了一个pipe参数来完成Redis到Redis的数据迁移。该工具的实现方式为读取待迁移Redis的aof文件并批量发送到目的Redis。Berry借鉴这种方式,并增加了如下改

  • 项目名称: pika_port 项目作者: AlexStocks 适用版本: 3.1 和 2.x 项目地址: https://github.com/ipixiu/pika-tools https://github.com/Axlgrep/pika-tools 长期维护地址需自行编译 二进制包: https://github.com/ipixiu/pika-port-bin 功能: 将Pika中的数

  • Redis 集群(Redis Cluster) 是 Redis 提供的分布式数据库方案。 既然是分布式,自然具备分布式系统的基本特性:可扩展、高可用、一致性。 Redis 集群通过划分 hash 槽来分片,进行数据分享。 Redis 集群采用主从模型,提供复制和故障转移功能,来保证 Redis 集群的高可用。 根据 CAP 理论,Consistency、Availability、Partition

  • 首先安装以下工具 (工具不提供 ts 支持) npm install -g sequelize-cli mkdir models && cd models npm init -y npm i sequelize mysql2 -S 在安装了 sequelize 的 node 项目中运行以下,便可看到如下信息。 $ sequelize Sequelize [Node: 8.1.2, CLI: 2.

  • 我试图将cassandra集群从专用的DC迁移到EC2。作为开始,我拍了一张桌子的快照。为了加载数据,我在这个过程中尝试了sstableloader,但是我无法从我的cassandra节点指定主机(我正在尝试从我的cassandra节点运行sstable loader)。任何指导都会很有帮助。我用的是cassandra 1.0.1。

  • 为 Redis 自带的主从复制提供主从切换方案。 2. TwenProxy 3. Redis Cluster 4. Codies 参考资料 Redis 集群方案