redis命令_redis专题系列18 -- redis-trib.rb常用命令详解

上一篇文章教大家手动搭建了一个Cluster集群,并演示了故障转移的过程,本文接着讲Cluster集群的动态扩展,简单来讲就是如何在Cluster模式下实现节点的新增和废弃节点的删除以及如何重新分配slot来达到集群的高可用,实现集群的动态扩展,而这一切都基于redis-trib.rb脚本,首先,我们对redis-trib.rb的命令开始说起:

本文分两部分:1,redis-trib.rb 常用命令介绍 2.命令演示

1.redis-trib.rb 常用命令介绍

可以使用 redis-trib.rb help 查看说明文档

45151cf0023b36aa4172fa4493f1c04b.png

redis-trib.rb常用命令帮助图解

常用命令使用演示

1.创建集群

命令格式:redis-trib.rb create --replicas n [host:port,...]

--replicas参数指定集群中每个主节点配备n从节点。

备注:如果创建集群时,单节点的数据库文件包含slot数据(例如nodes.7000.conf包含其他节点配置信息或者dump.7000.rdb包含0~16384某个slot的数据),集群会创建失败。所有节点的配置文件和上文(redis专题系列17 -- redis 集群模式之Cluster集群)提到的一样.

示例:

先依次启动要加入集群的节点,然后创建集群,我把这些命令放在了 batch.bat 脚本中执行,然后把batch.bat放到redis安装目录下

102b4afffa2bd87977b62a44715cf181.png

脚本命令

92bb4e4dc3df98162c2d98ef91af846b.png

将脚本文件 batch.bat 放到 redis安装目录下

创建集群窗口日志:

49488f0ebebb9d13eb438cd5ddb165f3.png

设置分配的集群信息,输入yes

fa5c23e77c7fb64816fe21425e08f1d0.png

为主节点分配 16384 个slots

关于主从节点的选择及槽的分配,其算法如下:

1> 把节点按照host分类,这样保证master节点能分配到更多的主机中。

2> 遍历host列表,从每个host列表中弹出一个节点,放入interleaved数组。直到所有的节点都弹出为止。

3> 将interleaved数组中前master个数量的节点保存到masters数组中。

4> 计算每个master节点负责的slot数量,16384除以master数量取整,这里记为N。

5> 遍历masters数组,每个master分配N个slot,最后一个master,分配剩下的slot。

6> 接下来为master分配slave,分配算法会尽量保证maste

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值