重新分配哈希曹:

ip:port 为当前redis集群任意节点ip和port (推荐学习:Redis视频教程)

redis-cli --cluster reshard  ip:port

操作如图:

redis-41.png

分配哈希槽有两种方式:

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

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

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

redis-42.png

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

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

redis-43.png

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

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

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

redis-44.png

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

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

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

redis-45.png

查看效果:

redis-46.png

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

更多Redis相关技术文章,请访问Redis入门教程栏目进行学习!

以上就是redis集群如何分配哈希槽的详细内容,转载自php中文网

点赞(676) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部