本次迁移采用了唯品会的开源工具RMT
1.阿里云redis服务器的购买
注:要和生产上数据的内存大小一致 不然有些key会迁移失败
很明显的OOM报错
2.迁移机器的cpu要足够 迁移会有一段时间的负载上升 对迁移机器的IOPS有要求
rmt_redis.c:1474 Error: I/O error reading bulk count from MASTER
这种报错你就需要查看一下 迁移codis服务器的性能了
3.RMT(redis-migrate-tool)工具的安装
git clone https://github.com/vipshop/redis-migrate-tool.git
cd redis-migrate-tool
autoreconf -fvi (没有的话yum一下)
./configure
make
4.RMT的配置
[source]
type: single
servers:
- codis:端口
[target]
type: single
servers:
- ali.redis.rds.aliyuncs.com:端口
redis_auth:密码
[common]
listen: 0.0.0.0:8888
mbuf_size: 1024
5.RMT启动
redis-migrate-tool -c rmt.conf -o rmt.log -d
6.RMT日志
出现如下说明 开始备份了
540350520268102-16856.rdb write complete
7.检查
通知状态页和 dbsize 确定 Key 数量是否一致 (初始同步完成) 执行 redis-cli -p 8888 info
确认
# 为 1
all_rdb_received:1
all_rdb_parsed:1
# Codis group 数量
rdb_received_count:2
rdb_parsed_count:2
配置服务连接 Redis 实例,检查 Codis 连接,知道所有连接断开,执行 redis-cli -p 8888 info
确认
# 为1
all_rdb_received:1
all_rdb_parsed:1
# Codis group 数量
rdb_received_count:2
rdb_parsed_count:2
# 一致
total_msgs_recv:27005
total_msgs_sent:27005
# 为0
total_mbufs_inqueue:0
total_msgs_outqueue:0
具体配置文件可以参考:https://blog.csdn.net/ahzxj2012/article/details/74347984