Redis集群之节点管理

来源:互联网 发布:西门子机器人编程入门 编辑:程序博客网 时间:2024/05/16 07:40
Redis集群一旦启动,就不能轻易删除掉一个节点了。

需要由redis-trib.rg这个ruby脚本行使集群管理的功能。所有的哈希槽都分配于master节点

一、delete master node

1. 重新分片 reshard后的参数可以是集群中任何一个节点

redis-3.2.9/src/redis-trib.rb reshard 192.168.1.6:7000

2.删除主节点

redis-3.2.9/src/redis-trib.rb del-node 192.168.1.6:7001 '3a2c151ea5c1b37758ae244aa17ec51c64e99a4d'
rm /usr/local/redis/nodes/nodes-7001.conf # 不删除这个节点文件,就无法将改节点再次添加进去

二、delete slave node 不需要重新分配哈希槽,所有哈希槽由master节点分配

redis-3.2.9/src/redis-trib.rb del-node 192.168.1.6:8000 'b23f02065b617eade882163565b633e5b31717bb'

三、添加主节点

在上一步删除主节点[port:7002]后,该主节点服务自动停止。但是再次启动还是会加载nodes-7002.conf这个配置文件

所以在此启动该主节点前,需要将nodes-7002.conf删除,保证主节点[port:7002]为空的前提下,将其加入到集群。

3.1启动并检查是否为空

如图:节点只有一个,说明该节点未加入集群且所有槽位未分配,即为空节点。

3.2 加入集群 7000为集群中已存在的主节点

redis-3.2.9/src/redis-trib.rb add-node 192.168.1.6:7002 192.168.1.6:7000

四、添加从节点

添加从节点时,也需要先将nodes-[port].conf删除掉,再来启动从节点服务。

启动服务并将节点添加到集群

redis-server /etc/redis/redis-8001.conf && redis-3.2.9/src/redis-trib.rb add-node --slave 192.168.1.6:8001 192.168.1.6:7000

 五。均衡槽位

通过rb脚本可以方便地将所有槽位平均分配: 7000是具有较少槽位的一个主节点

redis-3.2.9/src/redis-trib.rb rebalance 192.168.1.6:7000