初学乍练redis:Redis 5.0.3单实例数据迁移到Cluster
2019-04-19 18:16
417 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/89405708
在使用redis 3时,可以使用redis-migrate-tool工具做redis在线数据迁移(参考https://wxy0327.blog.csdn.net/article/details/84138537)。但是我们现在使用的redis server已经升级到5.0.3版本,再用redis-migrate-tool做迁移会报错:
[code][2019-04-19 13:26:35.847] rmt_redis.c:6446 ERROR: Can't handle RDB format version 455180296 [2019-04-19 13:26:36.484] rmt_redis.c:6715 ERROR: Rdb file for node[140.210.73.38:20003] parsed failed
报错的原因是RDB格式不兼容,于是不得不想别的办法了。
1. 检查redis集群状态
[code]/home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster check 140.210.73.39:20001
2. 将所有master上的slot重新分配到一个master上
[code]/home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster reshard --cluster-from 1b6d27312a2bf3f01d9d1fb7b3a6bece5aacc580 --cluster-to a1addf195454731ccf529519085b2001c257401c --cluster-slots 5462 --cluster-yes 140.210.73.39:20001 /home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster reshard --cluster-from fcba0b8ef4d1568a6f7e6c4e48b8f66bb2adca72 --cluster-to a1addf195454731ccf529519085b2001c257401c --cluster-slots 5461 --cluster-yes 140.210.73.39:20001
3. 停止上一步唯一持有slots的master
[code]/home/redis/redis-5.0.3/src/redis-cli -a 123456 -h 140.210.73.39 -p 20001 shutdown
4. 将单实例持久化的rdb文件拷贝到唯一持有slots的master的数据目录下
[code]cp dump.rdb /data1/rediscluster1/20001/
5. 启动唯一持有slots的master
[code]/home/redis/redis-5.0.3/src/redis-server /data1/rediscluster1/20001/redis.conf
6. 检查redis集群状态
[code]/home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster check 140.210.73.39:20001
7. 在集群master间重新分配slots
[code]/home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster reshard --cluster-from a1addf195454731ccf529519085b2001c257401c --cluster-to fcba0b8ef4d1568a6f7e6c4e48b8f66bb2adca72 --cluster-slots 5462 --cluster-yes 140.210.73.39:20001 /home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster reshard --cluster-from a1addf195454731ccf529519085b2001c257401c --cluster-to 1b6d27312a2bf3f01d9d1fb7b3a6bece5aacc580 --cluster-slots 5461 --cluster-yes 140.210.73.39:20001
遗留问题:没找到适合redis 5的在线迁移工具,是能采用这种离线的迁移方式。
相关文章推荐
- 迁移数据到redis-cluster
- redis集群配置加单实例数据迁移到集群
- 迁移数据到Redis Cluster
- 如何把阿里云上redis实例的数据迁移到另外的实例?
- 将MySQL数据迁移到Redis
- 从ActionScript 2.0迁移到ActionScript 3.0: 主要概念和更改-载入数据、内容和元件实例
- redis数据迁移过程
- Redis数据迁移-键迁移
- hadoop迁移数据应用实例
- spring整合redis实现数据缓存的实例代码
- redis 在多个实例之间如何拆分数据
- 使用redis-cli迁移数据
- redis数据迁移
- shell模拟php多进程从redis获取数据(多个redis实例)
- Redis的make,make test,make install、单机多实例配置,以及API程序写数据!
- Redis数据类型及其实例
- Redis单实例数据迁移Cluster方案实战
- 简单redis迁移(会丢数据)
- codis迁移槽位遇到value过大的数据导致redis进程堵塞问题
- Oracle 11g单实例使用asm,并测试数据文件的迁移到其他磁盘组