码迷,mamicode.com
首页 > 其他好文 > 详细

redis集群扩容(添加新节点)

时间:2019-11-14 20:19:47      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:端口   slot   bsp   you   pos   创建   第一个   执行   没有   

一、创建节点(接上文)

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 密码

执行上述命令后,如图:

技术图片

 

2、输入要分配多少个哈希槽(数量)?比如我要分配1000个哈希槽

技术图片

 

 3、输入指定要分配哈希槽的节点ID,如上上图端口号为7002的两个master节点哈希槽的数量为0(选择任意一个节点作为目标节点进行分配哈希槽);

技术图片

 

 4、选择需要分配的哈希槽来源,输入all

输入all 需要分配给目标节点的哈希槽来着当前集群的其他主节点(每个节点拿出的数量为集群自动决定)

技术图片

 

 是否继续执行建议的reshard计划

技术图片

 

 输入yes后,就会完成分配哈希槽:

(1)进入redis客户端cluster slots 查看(7002端口的主节点的原哈希槽数量为0)

技术图片

 

四、分配哈希槽有两种方式

  (1)将所有节点用作哈希槽的源节点。:all

  (2)在指定的节点拿出指定数量的哈希槽分配到目标节点:done

上述使用的是第一种方式分配哈希槽:

现在我们讲一下用第二种方式怎么分配:

1、现在我们对7002端口的另一个master进行分配哈希槽

./src/redis-cli --cluster reshard  ip:port -a 密码

2、这里输入给目录节点选择分配1000个哈希槽,并输入要给哪个节点分配哈希槽,就输入哪个节点的ID

技术图片

 

 

 3、先输入源节点ID(哈希从哪里来的?),然后再输入done

技术图片

 

 

正在从源节点迁移哈希槽

技术图片

 

 

  4、是否继续执行建议的reshard计划

Do you want to proceed with the proposed reshard plan (yes/no)?

输入yes

技术图片

 

 

 5、执行结束后

cluster slots 查看

 

 

技术图片

 

 

 

 

 

redis集群扩容(添加新节点)

标签:端口   slot   bsp   you   pos   创建   第一个   执行   没有   

原文地址:https://www.cnblogs.com/yfacesclub/p/11860927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!