标签:运行 官网 ip) ruby lazy master mamicode 分配 and
1.集群的数据迁移
在工作中经常会遇到redis集群的扩容的场景,因为当一个集群服务器中的内存不够用无法支撑更大数据量的缓存或者并发量不够(个人理解),就会将原有的集群扩展。集群扩容需要将集群中原有的master节点上的槽位以及数据迁移到新加入的master节点上。
每个槽都把要里面的数据迁移完才能进行下一个槽几千个槽成千上万个key手动挨个循环遍历太麻烦了因此扩容都是用ruby脚本工具来进行的,本文中以三节点的集群扩容为四节点为案例。
首先要安装好ruby的依赖环境可以到官网查看安装教程www.rubygems.org,安装后可以进入安装目录下运行./redis-trib.rb查看使用文档
然后创建好新节点的数据目录以及安装目录加入节点到集群中(192.168.108.54为新节点的通信ip)
./redis-trib-rb add-node 192.168.108.54:6380 192.168.108.51:6380 master
./redis-trib-rb add-node 192.168.108.54:6381 192.168.108.52:6380 slave
然后执行./redis-trib.rb reshard 192.168.108.51:6380 重新分配槽位
因为这个要保证集群负载平均,因此要将16384个槽平均分到四个master节点上,即每个master节点4096个槽,具体步骤如下:
这样就完成了集群的扩容,可能大家对于集群的槽还会有一定疑问?下面我就为大家解释一下
标签:运行 官网 ip) ruby lazy master mamicode 分配 and
原文地址:https://www.cnblogs.com/litong1/p/13787478.html