redis 集群分配哈希曹

时间:2021-01-26 05:10:09

重新分配哈希曹:

ip:port 为当前redis集群任意节点ip和port

redis-cli --cluster reshard  ip:port

操作如图:

redis 集群分配哈希曹

分配哈希槽有两种方式:

1、在其他节点拿出适量的哈希槽分配到目标节点

2、在指定的节点拿出指定数量的哈希槽分配到目标节点

如上图端口号为7005的主节点哈希槽的数量为0,为它分配300个哈希槽:

redis 集群分配哈希曹

How many slots do you want to move (from 1 to 16384)?  这里输入你要分配的哈希槽的数量(如上图)

What is the receiving node ID? 这里输入将上一步输入指定数量的哈希槽分配给那个节点,输入节点id(如上图)

redis 集群分配哈希曹

这里是在让你选择需要分配的哈希槽来源,有两种选择:

1、输入all 需要分配给目标节点的哈希槽来着当前集群的其他主节点(每个节点拿出的数量为集群自动决定,上图就是这种方式来完成的!)

效果(原7005端口的主节点哈希槽数量为0):

redis 集群分配哈希曹

2、输入某个节点的id,这种情况下,需要分配给目标节点的哈希槽就由该节点全部承担(节点id可以输入多个,回车分割,输入done结束)。

使用第二种方式分配哈希槽:

现在7005端口的节点哈希槽为300,使用第二种方式为其分配,再增加100,这100的哈希槽再7002端口的节点上拿

redis 集群分配哈希曹

查看效果:

redis 集群分配哈希曹

当前7005端口的主节点为400哈希槽!