本文主要是介绍redis-cluster 集群搭建和迁移(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上一篇写了redis-cluster集群的搭建过程,这里讲一下redis的迁移过程,因为以前的生产环境是单实例的,所有迁移起来比较麻烦,参考了一下网上的资料,可以使用修改卡槽的办法来实现迁移。
具体的思路是这样,redis 包含16348 个卡槽,是hash分布的,所有的数据都分布在上面,先把redis-cluster所有的卡槽全部集中到一个节点9000上,然后在单节点上通过rds 持久化数据,把持久化后的数据迁移到redis-cluster 集群节点9000上,在把9000节点上的卡槽平均分配给其他节点。整个迁移过程就完成了
首先查看redis-cluster卡槽分布
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster check 192.168.53.134:9000
然后把所有的卡槽全部分配给9000
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000
查询单机redis dump 目录
config get dir
保存dump 文件
save
关闭redis-cluster 节点
/usr/local/redis/redis-5.0.5/src/redis-cli -h 192.168.1.53 -p 9000 -c shutdown
拷贝dump 文件至redis-cluster 9000节点目录,重启9000节点,数据就拷贝到redis-cluster集群了
再把卡槽重新分配给其他节点就可以了
最后把卡槽平均分配给其他节点
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 9f7c851dc9050a236f6d23585320a8723b1cac86 --cluster-slots 2731
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 57ddb3016bd4540a51d05fafe62525c16f6fec24 --cluster-slots 2731
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to ff7101567fc6e88542ac850d974991a58723efbc --cluster-slots 2731
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 7ad32731d45731b6feae98cb0b2d0556ad5b6de8 --cluster-slots 2730
/usr/local/redis/redis-5.0.5/src/redis-cli --cluster reshard 192.168.53.134:9000 --cluster-from 30542735717dd45d0cfe6f38d91e164b23017b36 --cluster-to 765551aa364e61e2e867023e774124a93fb0d263 --cluster-slots 2730
这篇关于redis-cluster 集群搭建和迁移(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!