redis3.x集群-删除集群中的节点

1. 如果删除的节点是主节点,那么此节点中有哈希槽,需要把删除的节点中的哈希槽转移到其他节点中,执行下面命令,还是转移哈希槽的那个命令。

1)先删除从节点

#  cd/usr/local/redis-3.2.9/src/

./redis-trib.rb del-node 192.168.8.150:7000 90b99192b544286e67fdbf93d210ad98d51e14c3

注意:其中的del-node 后面加的192.168.8.150:7000 为集群标示,最后面为要删除的节点的ID,此次删除那个新加的7007的从节点。

执行信息为:

[root@server src]#  cd/usr/local/redis-3.2.9/src/

[root@server src]# ./redis-trib.rb del-node 192.168.8.150:700090b99192b544286e67fdbf93d210ad98d51e14c3

>>> Removing node90b99192b544286e67fdbf93d210ad98d51e14c3 from cluster 192.168.8.150:7000

>>> Sending CLUSTERFORGET messages to the cluster...

>>> SHUTDOWN the node.

此时再次查看状态:



所有节点信息图 

发现7007节点已经不存在了

2)删除主节点

2.1)首先一定要重新分配哈希槽,把要删除的主节点中原有的哈希槽转移到其他节点中

使用分配哈希槽命令:

# cd usr/local/redis-3.2.9/src/

# ./redis-trib.rb reshard192.168.8.150:7000

和之前分配时操作一致,系统首先会提示要移动多少哈希槽要删除的节点有多少个就得移动多少个,然后系统会提示输入要接收这些哈希槽的节点的ID,这里实验使用7001的节点ID

最重要的是:之后会让我们选择执行all还是done

此时一定要先输入7006这个要删除的节点的ID回车之后,再输入done再回车,有两步。

具体操作如下:



操作时需要注意点事项



执行后效果图

输入yes之后进行转移。

2.2) 再次使用查看集群信息命令,查看各节点当前信息状态,看是否已经转移成功。

redis-cli -c -h 192.168.8.150 -p 7000 cluster nodes



查看状态发现哈希槽已经没了

查看状态说明已经没有哈希槽了(紫色椭圆框标注)。

2.3) 此时再使用删除节点命令。进行删除。

    ./redis-trib.rb del-node192.168.8.150:7000 82002358e7805a0151bcf63e6fb7255ad4b3d3a3

后面跟着7006的节点ID



后面跟着7006的节点ID

查看状态,验证是否删除。

redis-cli -c -h 192.168.8.150 -p 7000 cluster nodes



集群中的节点信息

没有7006节点,说明已经删除。


猜你喜欢

转载自blog.csdn.net/hxhaaj/article/details/80670473