本文共 2400 字,大约阅读时间需要 8 分钟。
Redis-Migrate-Tool 是维品会开源的一款 Redis 数据迁移工具,基于 Redis 复制,支持快速、高效、稳定的大规模数据迁移。该工具兼容多种 Redis 集群模式,包括 Redis Cluster、Twemproxy 集群、RDB 文件及 AOF 文件,并提供关键功能如实时迁移、数据校验、过滤 等。
工具需依赖一些系统级和开发工具包。运行以下命令安装:
$ yum -y install automake libtool autoconf bzip2 git
进入工具目录,进行编译:
$ cd redis-migrate-tool$ autoreconf -fvi$ ./configure$ make$ src/redis-migrate-tool -h
rmt.conf
配置中设置 source_safe: false
。RENAME,RENAMENX,RPOPLPUSH,BRPOPLPUSH,FLUSHALL,FLUSHDB,BITOP,MOVE,GEORADIUS,GEORADIUSBYMEMBER,EVAL,EVALSHA,SCRIPT,PFMERGE
$ src/redis-migrate-tool -c rmt.conf -o log -d
后台运行时需注意终止当前进程:
$ netstat -tnulp | grep 8888$ kill -9 [端口号]
$ src/redis-migrate-tool -c rmt.conf -o log -C redis_check
可调整样本数量:
$ src/redis-migrate-tool -c rmt.conf -o log -C "redis_check 200000"
$ src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert"
自定义插入数量及类型:
$ src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert 30000"
或指定特定键类型:
$ src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert string|set|list 10000"
redis-cli
连接工具,默认监听地址为 127.0.0.1:8888。-d
选项,需手动终止进程。-o log
导出日志文件,默认写入标准端口。配置文件分为三个主要部分:
single
、twemproxy
、redis_cluster
、rdb file
、aof file
。[source]type: singleservers: - 127.0.0.1:6379[/source][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[/target][common]listen: 0.0.0.0:8888threads: 2step: 1mbuf_size: 1024source_safe: true
[source]type: rdb fileservers: - /data/redis/dump1.rdb - /data/redis/dump2.rdb[/source][target]type: redis clusterservers: - 127.0.0.1:7379[/target][common]listen: 0.0.0.0:8888step: 2mbuf_size: 512source_safe: false
状态查询
$ redis-cli -h 127.0.0.1 -p 8888 info
输出包括服务器版本、操作系统信息、进程 ID、连接状态等详细指标。
退出命令
$ redis-cli -h 127.0.0.1 -p 8888 shutdown 5
参数说明:
seconds
:等待时间,用于在退出前完成缓存数据迁移。asap
:立即退出,无需等待。Redis-Migrate-Tool 提供了灵活的配置选项和强大的迁移功能,适用于各种 Redis 集群场景及大规模数据迁移任务。
转载地址:http://ibzrz.baihongyu.com/