如何删除从节点?(假设:要删除172.16.1.81:6387)
查看集群所有节点
1 2 3 4 5 6 7 8 9 10 11 |
[root@redis01 ~]# redis-cli -h 172.16.1.81 -p 6381 -a 1 172.16.1.81:6381> CLUSTER nodes af217e1186196dbf520e02fddb819976244ec55d 172.16.1.81:6388@16388 master······ d52dbb51a1842a9db55954adb6c98cd65cadc0f8 172.16.1.81:6387@16387 master······ 8da363b93f4aedb3039eccdec8483b442e4d98e5 172.16.1.83:6386@16386 slave······ eafcb901a751f345dcb63beb3117ab3ec136dae8 172.16.1.82:6385@16385 slave······ d003d10db9d88acd4cc486d8a12a6a733f7b7ec3 172.16.1.81:6384@16384 slave······ d721544df39cdd192ce31eaf062ead33ce4759ba 172.16.1.83:6383@16383 master······ 3c5ae9a66a1505a75873e0eb128fb70481f11105 172.16.1.82:6382@16382 master······ 7a15703fe4fc2119ab545e83178254e41af612fd 172.16.1.81:6381@16381 myself,master······ |
删除节点
1 2 3 4 5 |
[root@redis01 ~]# redis-cli -a 1 --cluster del-node 172.16.1.81:6387 d52dbb51a1842a9db55954adb6c98cd65cad >>> Removing node d52dbb51a1842a9db55954adb6c98cd65cadc0f8 from cluster 172.16.1.81:6387 >>> Sending CLUSTER FORGET messages to the cluster... >>> Sending CLUSTER RESET SOFT to the deleted node. #出现这个返回结果表示成功 |
如何删除已分槽的主节点?(假设:要删除172.16.1.81:6381)
查看集群信息
1 2 3 4 5 6 7 8 |
[root@redis02 ~]# redis-cli -a 1 -p 6382 cluster nodes ······ 172.16.1.82:6385@16385 slave ······ 0 1608455137067 1 connected ······ 172.16.1.81:6384@16384 slave ······ 0 1608455135557 3 connected ······ 172.16.1.83:6386@16386 slave ······ 0 1608455136000 2 connected 34649713d6921cb6de401d6a9da92122e43716ce 172.16.1.83:6383@16383 master - 0 1608455136060 3 connected 10923-16383 cfbb0189bb04ca6f1d8e065bd35f16406c6dc5bd 172.16.1.81:6381@16381 master - 0 1608455136564 1 connected 0-5460 1964f48bddf8a23b3c4c6624fcf15d5708303f65 172.16.1.82:6382@16382 myself,master - 0 1608455134000 2 connected 5461-10922 |
移动要删除节点的数据分片:
1 2 3 4 5 6 7 8 9 10 11 |
#操作管理节点从新分配,并在交互界面指定分片大小、选择接收分片的节点ID [root@redis02 ~]# redis-cli -a 1 --cluster reshard 172.16.1.82:6382 #方法是根据要删除master节点的分片位置,然后一个组分一个节点 , 也可以直接移动所有数据片到一个节点 How many slots do you want to move (from 1 to 16384)? 5461 #通过人工手动查看数据分片总大小 What is the receiving node ID? 1964f48bddf8a23b3c4c6624fcf15d5708303f65 #这是新增节点的ID号 Source node #1: cfbb0189bb04ca6f1d8e065bd35f16406c6dc5bd #这是要删除的主节点的ID号 Source node #2: done #这是结束命令 Do you want to proceed with the proposed reshard plan (yes/no)? yes #确认修改以上的操作 |
再次查看集群信息
1 2 3 4 5 |
[root@redis02 ~]# redis-cli -a 1 -p 6382 cluster nodes ······172.16.1.83:6383@16383 master - 0 1608458491369 3 connected 10923-16383 ······172.16.1.82:6382@16382 myself,master - 0 1608458491000 7 connected 0-10922 ······172.16.1.81:6381@16381 master - 0 1608458493384 1 connected #可以看到槽已经没有了,可以按删除从节点的方法删除主节点 |