Redis新节点添加以及插槽的移动

本文介绍了如何在已有的Redis集群中添加新节点,并详细讲解了插槽迁移的过程,确保数据在集群中的平衡分布。欲了解集群搭建基础,请参阅相关链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在redis集群创建成功的情况下,具体集群搭建步骤请参考:http://blog.youkuaiyun.com/muyundefeng/article/details/52688192


增加新的节点:首先还是要启动一个新的redis实例,然后启动一个redis客户端链接该数据库实例,执行CLUSTER MEET IP PORT(其中ip与port是集群节点中任意一个数据库实例的ip地址与端口号)


移动插槽与增加插槽:在一个集群中所有的键被分配到16384个插槽中,每个master数据库会负责其中一部分插槽.
可以用redis客户端端链接集群中的任意一个节点,执行CLUSTER SLOTS命令,可以查看插槽的分配情况.主要的输出信息如下:
127.0.0.1:6385> cluster slots
1) 1) (integer) 10923
  2) (integer) 16383
  3) 1) "127.0.0.1"
  2) (integer) 6380(master)
  3) "bc2056a9e64f65caa451cf4404772af9e2eff156"
  4) 1) "127.0.0.1"
  2) (integer) 6382(slave)
  3) "83a96bbde18be00bbd96581ded45992e2ff9a2eb"
2) 1) (integer) 5461
  2) (integer) 10922
  3) 1) "127.0.0.1"
  2) (integer) 6384
  3) "1fa40cda2140855839f05d2752524590d93c173f"(节点ID)
  4) 1) "127.0.0.1"
  2) (integer) 6383
  3) "970509b2acb5404e2c75b99c3c449b7ed3abef50"
3) 1) (integer) 0
  2) (integer) 5460
  3) 1) "127.0.0.1"
  2) (integer) 6379
  3) "d19a31472a3effd985dd0ea12c738b6fdc4658d6"
  4) 1) "127.0.0.1"
  2) (integer) 6381
  3) "5893ac0af872bc3e0b3ae93bd8def3b7bd00f828"
一共包含三条记录其中每一条记录的第一条信息是其实插槽的编号,第二条信息是结束插槽的编号.如果想要把插槽从6379移动到6384,使用
ruby redis-trib.rb reshard 127.0.0.1:6379 对6379的节点的插槽进行重新分配,命令弹出:What is the receiving node ID?输入接受节点的id,然后输入all.
在查看集群的插槽分配情况如下:
1) 1) (integer) 10923
  2) (integer) 16383
  3) 1) "127.0.0.1"
  2) (integer) 6380
  3) "bc2056a9e64f65caa451cf4404772af9e2eff156"
  4) 1) "127.0.0.1"
  2) (integer) 6382
  3) "83a96bbde18be00bbd96581ded45992e2ff9a2eb"
2) 1) (integer) 0
  2) (integer) 0
  3) 1) "127.0.0.1"
  2) (integer) 6384
  3) "1fa40cda2140855839f05d2752524590d93c173f"
  4) 1) "127.0.0.1"
  2) (integer) 6383
  3) "970509b2acb5404e2c75b99c3c449b7ed3abef50"
3) 1) (integer) 5461
  2) (integer) 10922
  3) 1) "127.0.0.1"
  2) (integer) 6384
  3) "1fa40cda2140855839f05d2752524590d93c173f"
  4) 1) "127.0.0.1"
  2) (integer) 6383
  3) "970509b2acb5404e2c75b99c3c449b7ed3abef50"
4) 1) (integer) 1
  2) (integer) 5460
  3) 1) "127.0.0.1"
  2) (integer) 6379
  3) "d19a31472a3effd985dd0ea12c738b6fdc4658d6"
  4) 1) "127.0.0.1"
  2) (integer) 6381
  3) "5893ac0af872bc3e0b3ae93bd8def3b7bd00f828"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值