Redis
Redis故障诊断
慢日志查询
安装、启动与连接
常用命令
常用命令2
主从
高可用(SENTINEL)
持久化(RDB、AOF)
集群(CLUSTER)
集群扩容与收缩
管理Redis
备份与恢复
内存使用情况
客户端
数据迁移
Redis配置
Python使用redis
Redis监控指标
本文档使用MrDoc发布
返回首页
-
+
集群扩容与收缩
2020年5月25日 21:24
admin
#扩容 https://www.cnblogs.com/yfacesclub/p/11860927.html >##流程说明: 准备新节点 加入集群 迁移槽和数据 >##在redis1,上准备新节点 >![](/media//202005/2020-05-25211923161564.png) >##启动新节点 >![](/media//202005/2020-05-25211950911311.png) >##配置使新节点加入群集 >![](/media//202005/2020-05-25212155111299.png) >##在其他的master上分配槽 >#####因为前三个master已经把16384个槽全部分配完了,所以新的节点需要从他们那里要一些过来 >![](/media//202005/2020-05-25212250144976.png) >#####分配完后,6390和6391都是master,且6391master没有分配槽,所以,需要把6391做成从节点,这里只是测试,再次强调,在线上一定不要把master和slave放在一台主机,要交叉分布,我这里是没有办法了,就只有6390可分配 >![](/media//202005/2020-05-25212334807499.png) >#####完成后还可以使用redis-cli --cluster rebalance 192.168.10.3:6380来完成重新平衡集群状态,使每个节点分到的槽数一样多 redis-cli --cluster rebalance 192.168.10.3:6380 >##验证是否成功 redis> cluster nodes --- #缩容 https://blog.csdn.net/weixin_43815140/article/details/106172203 >##流程说明: 首先需要确定下线节点是否有负责的槽,如果是,需要把槽迁移到其他节点,保证节点下线后整个集群槽节点映射的完整性. -------------------------------------------------------- 当下线节点不再负责槽或者本身是从节点时,就可以通知集群内其他节点忘记该下线节点,当所有的节点忘记该节点后可以正常关闭. >##具体操作: >####方式一: 这里我们准备将刚才新添加的节点下线,也就是6390和6391 收缩和扩容迁移的方向相反,6390变为源节点,其他节点变为目标节点,源节点把自己负责的4096个槽均匀的迁移到其他节点上,因为redis-cli命令只能有一个目标节点,因此需要执行3次reshard命令,分别迁移1365,1365,1366个槽给其他3个master; >####方式二: 也可以把4096个槽全部给某一个,再把6390,6391移除群集 使用redis-cli --cluster rebalance 192.168.10.3:6380 来平衡群集 >![](/media//202005/2020-05-25212913291595.png) >![](/media//202005/2020-05-25212932906881.png) >##忘记节点(下线) >####命令格式: >![](/media//202005/2020-05-25213051150729.png) >![](/media//202005/2020-05-25213108419474.png) >##验证是否成功 redis> cluster nodes
分享到: