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

来源:互联网 发布:安利君软件如何推广 编辑:程序博客网 时间:2024/06/11 08:05

在redis集群创建成功的情况下,具体集群搭建步骤请参考:http://blog.csdn.net/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"

0 0