千家信息网

大神推荐Redis集群迁移工具:redis-migrate-tool

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,Redis集群迁移工具,基于redis复制,快速,稳定。特点快速多线程基于redis复制实时迁移迁移过程中,源集群不影响对外提供服务异构迁移支持Twemproxy集群,redis cluster集群,
千家信息网最后更新 2024年09月22日大神推荐Redis集群迁移工具:redis-migrate-tool
Redis集群迁移工具,基于redis复制,快速,稳定。

特点

快速

多线程

基于redis复制

实时迁移

迁移过程中,源集群不影响对外提供服务

异构迁移

支持Twemproxy集群,redis cluster集群,rdb文件 和 aof文件

过滤功能

当目标集群是Twemproxy,数据会跳过Twemproxy直接导入到后端的redis

迁移状态显示

完善的数据抽样校验

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

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

版本说明

https://github.com/vipshop/redis-migrate-tool #仅支持redis3及以下版本

https://github.com/tanruixing88/redis-migrate-tool #基于上述版本修改,支持redis4及以上版本

依赖
yum -y install automake libtool autoconf bzip2
安装
git clone https://github.com/tanruixing88/redis-migrate-tool.gitredis-migrate-toolautoreconf -fvi./configuremakecp src/redis-migrate-tool /usr/local/bin/redis-migrate-tool
配置文件rmt.conf

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

[source]type: redis clusterservers: - 127.0.0.1:6379 - 127.0.0.1:6380 - 127.0.0.1:6381 - 127.0.0.1:6382[target]type: twemproxyhash: fnv1a_64hash_tag: "{}"distribution: ketamaservers: - 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:8888threads: 2step: 1mbuf_size: 1024source_safe: true

配置文件示例:从redis cluster集群迁移数据到另外一个cluster集群

[source]type: redis clusterservers: - 127.0.0.1:8379[target]type: redis clusterservers: - 127.0.0.1:7379[common]listen: 0.0.0.0:8888

配置文件示例:从rdb文件恢复数据到redis cluster集群

[source]type: rdb fileservers: - /data/redis/dump1.rdb - /data/redis/dump2.rdb - /data/redis/dump3.rdb[target]type: redis clusterservers: - 127.0.0.1:7379[common]listen: 0.0.0.0:8888
运行
/usr/local/bin/redis-migrate-tool -c rmt.conf -o log -d
状态

通过redis-cli连接redis-migrate-tool监控的端口,运行info 命令

redis-cli -h 127.0.0.1 -p 8888127.0.0.1:8888> info# Serverversion:0.1.0os:Linux 2.6.32-573.12.1.el6.x86_64 x86_64multiplexing_api:epollgcc_version:4.4.7process_id:9199tcp_port:8888uptime_in_seconds:1662uptime_in_days:0config_file:/ect/rmt.conf# Clientsconnected_clients:1max_clients_limit:100total_connections_received:3# Memorymem_allocator:jemalloc-4.0.4# Groupsource_nodes_count:32target_nodes_count:48# Statsall_rdb_received:1all_rdb_parsed:1all_aof_loaded:0rdb_received_count:32rdb_parsed_count:32aof_loaded_count:0total_msgs_recv:7753587total_msgs_sent:7753587total_net_input_bytes:234636318total_net_output_bytes:255384129total_net_input_bytes_human:223.77Mtotal_net_output_bytes_human:243.55Mtotal_mbufs_inqueue:0total_msgs_outqueue:0127.0.0.1:8888>
数据校验
/usr/local/bin/redis-migrate-tool -c rmt.conf -o log -C redis_checkCheck job is running...Checked keys: 1000Inconsistent value keys: 0Inconsistent expire keys : 0Other check error keys: 0Checked OK keys: 1000All keys checked OK!Check job finished, used 1.041s
原文地址: https://www.linuxprobe.com/redis-migrate-tool.html
0