redis数据导入的需求一般是刚切换到redis集群的时候肯定会面临数据导入的问题,所以这里推荐使用redis-migrate-tool工具来导入数据到及群里,可以支持单节点数据导入到集群中,集群数据导入到另外一个集群中,rdb文件数据导入到集群中。
本文介绍单节点数据导入到集群中,其他情况可以参考官方文档进行配置:https://www.oschina.net/p/redis-migrate-tool
安装工具
yum install libtool bzip2 -y
git clone https://github.com/vipshop/redis-migrate-tool.git
cd redis-migrate-tool/
autoreconf-fvi
./configure
make&&make install
创建配置文件
cat > redis_single_to_cluster.conf <<EOF
[source]
type: single
servers:
- 127.0.0.1:8379
[target]
type: redis cluster
servers:
- 127.0.0.1:7379
[common]
listen: 0.0.0.0:8888
source_safe: true
EOF
执行导入命令
redis-migrate-tool -c redis_single_to_cluster.conf -o log
-c 指定配置文件 默认为rmt.conf -o 输出log文件log可以用来传输失排错用
数据校验
redis-migrate-tool -c redis_single_to_cluster.conf -C redis_check
-C 比较源数据和传出的目的数据 类似md5校验 默认比较1000个key-value
如果报这个错 ERROR: Can't handle RDB format version 1143025672
说明你的redis-migrate-tool支持的rdb版本太低了,可以将redis版本降低或者修改 rmt_redis.c 文件,下面这个参数修改为9或者更大