redis集群添加新节点
Posted 北向。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis集群添加新节点相关的知识,希望对你有一定的参考价值。
一、创建节点(接上文)
1、在H1服务器/root/soft目录下创建7002目录
2、将7001目录的配置文件redis.conf拷贝到7002,并修改配置文件的端口
3、进入 redis-5.0.5 目录下,执行启动命令
./src/redis-server ../7002/redis.conf
4、进入H2创建7002的salve,步骤与前三个步骤一样
二、添加节点
1、第一个ip:port 为需要添加的节点ip和端口,第二个ip:port为当前集群中的节点和端口;先后执行以下命令:
./src/redis-cli --cluster add-node 172.26.237.83:7002 172.26.237.83:7000 -a 0123456789
./src/redis-cli --cluster add-node 172.26.237.84:7002 172.26.237.83:7000 -a 0123456789
2、在H1进入redis客户查看集群的健康状态和节点状态
三、分配哈希槽
注意:新添加的节点是没有哈希曹的,所以并不能正常存储数据,需要给新添加的节点分配哈希曹:
1、重新分配哈希槽
# ip:port 为当前redis集群任意节点ip和port,-a后面加密码
./src/redis-cli --cluster reshard ip:port -a 密码
执行上述命令后,如图:
分配哈希槽有两种方式:
(1)在其他节点拿出适量的哈希槽分配到目标节点:输入all 需要分配给目标节点的哈希槽来着当前集群的其他主节点(每个节点拿出的数量为集群自动决定)
(2)在指定的节点拿出指定数量的哈希槽分配到目标节点:done
我现在使用第一种方式分配哈希槽:
2、输入要分配多少个哈希槽(数量)?比如我要分配1000个哈希槽
3、输入指定要分配哈希槽的节点ID,如上上图端口号为7002的两个master节点哈希槽的数量为0(选择任意一个节点作为目标节点进行分配哈希槽);
4、选择需要分配的哈希槽来源,输入all
是否继续执行建议的reshard计划
输入yes后,就会完成分配哈希槽:
(1)进入redis客户端cluster slots 查看(7002端口的主节点的原哈希槽数量为0)
以上是关于redis集群添加新节点的主要内容,如果未能解决你的问题,请参考以下文章