本章介绍RedisManager集群伸功能。通常伴随着业务量增长或者是业务拆分的场景,如何合理的使用redis资源也会成为运维过程中一个不可避免的环节,RedisManager提供的集群扩容缩容功能就变得格外有意义。
操作前必读
这是一个风险较高的的运维操作,不当的操作可能会导致数据丢失甚至严重的会导致整个redis集群挂掉,所以请操作前务必以下须知:
- 该操作只RedisManager目前支持cluster模式
- 集群伸缩操作最好是平台创建的redis集群,接下的集群伸缩演示都是基于平台平台创建的redis集群
- 非平台创建redis集群的也可以扩容(无法缩容),通过手动Import Node,Meeting操作实现。这里务必要保证Import Node所在机器的权限,以及redis的版本
- 集群伸缩操作过程最好不要有redis流量
- 操作过程中有些操作可能会耗费一定的时间,请务必在当前操作完成以后再进行下一步操作
- 缩容时,尽量避开redismanager 监控模块使用的redis节点
- 为以防万一,请提前做好数据备份
扩容操作
1 点击manage按钮进入NodeManager页面,再点击Add node按钮进入以下页面
2 在保证所有信息同创建集群时相同以后,填入需要新增节点的ip和port,check通过以后点击CreateCluster按钮,等待页面提示"success install"以后,切到Cluster manager Tab页,此时你已经可以看你新增的redis节点了(只是还没有分配slot)
3 开始slot分配操作,键入你想要迁移的slot数目以后点击submit按钮,待到弹出"succes"提示信息以后,刷新页面所有操作完成。网络延迟和迁移slot的数目都可能导致该步骤用时过长,请耐心等待。
4 扩容完以后的节点信息列表如下
缩容操作
缩容操作必须是使用RedisManager平台创建的集群才可以。所谓缩容,我们目的是想要减少Master节点以缩小redis集群的规模。
1 为保证数据的完整,首先需要迁移走对应Master节点上的slot(如图2的状态一致)
2 将所有需要缩容的节点一次从集群中forget掉。如下图(master节点会在其所有slave节点forget完成以后出现forget按钮)
3 forget操作完成以后我们在Cluster manager Tab页已经找不到被forget的节点了,此时再切换回Node manager Tab页面,如下图:
4 如上图所示,此时需要缩容的节点其InCluster的状态都会变成 No了,在逐个节点进行Stop和Opreate下的Delete操作。Delete操作必须要在stop操作完成以后Status状态为fail以后才可已经进行。至此我们就完成了redis集群的缩容和节点物理删除的操作了。
5 更多节点操作的功能见下图
- Stop:停掉当前节点
- Start:启动当前节点
- Delete:删掉当前节点(物理删除)
- ReStart:重启当前结点
至此,RedisManager集群伸功能介绍完毕啦