天天看点

redis-cluster (5.X)集群扩容

最近在工作中需要对redis集群扩容,在网上搜了些帖子都是3.X,4.X版本的,由于公司使用的是5.X版本,于是乎,久久无果.最后按照官网操作了一下还是挺简单的

要扩容,先添加主节点,然后再分配hash槽,然后再添加从节点.

注:此处redis-server和redis-cli文件在redis根目录/src下

一.添加主节点

1.从原有的集群拷贝实例

2.启动实例

./src/redis-server ./redis.conf           

 redis.conf 注意修改端口

3.添加节点

./src/redis-cli --cluster add-node 127.0.0.1:7000 xxx.xxx.xxx.xxx:7000           

此时新添的节点:

    ①由于没有分配的哈希槽,因此不保存任何数据。

    ②因为它是没有分配插槽的主机,所以当从机要成为主机时,它不会参与选举过程

4.分配hash槽

① 开始重新分片

redis-cli --cluster reshard 127.0.0.1:7000           

键入上面的命令后会出现一下语句,意思是你准备重新分配多少个hash槽

How many slots do you want to move (from 1 to 16384)?           

② 输入1-16384 需要重新分配多少个哈希槽

③ 输入哈希槽的目标节点id

④ 被移动的哈希槽的原节点  如果原来的所有节点是源节点 直接输入all  也可以指定源节点,依次输入源节点后输入 done 结束

二.添加从节点

1.启动实例(端口我设置的7001)

2.节点添加为副本

./src/redis-cli --cluster add-node 127.0.0.1:7001 xxx.xxx.xxx.xxx:7000 --cluster-slave --cluster-master-id 48c711cf275d4e2e849c5b5e094ddafe694d8534           

后面的uuid,是主节点在集群的节点id,输入上述重新分片的命令可以查看

redis-cluster (5.X)集群扩容

继续阅读