Redis动态删除主从节点
先删除从节点
1.找到要删除的redis节点的ip/端口/和redisID
我们这里要删除7008(主节点)/7009(从节点)
7009节点信息
ip:192.168.1.34,
端口:7009
redisID:eab2aa8fe15448bc9b9c012a36d102e740172eca
如图
2.删除从节点操作
2.1删除从节点
命令:
~/redis-3.2.8/src/redis-trib.rb del-node 被删除目标节点ip:被删除目标节点端口 被删除目标节点ID
如下:
~/redis-3.2.8/src/redis-trib.rb del-node 192.168.1.34:7009 eab2aa8fe15448bc9b9c012a36d102e740172eca
[root@mini34 ~]# ~/redis-3.2.8/src/redis-trib.rb del-node 192.168.1.34:7009 eab2aa8fe15448bc9b9c012a36d102e740172eca >>> Removing node eab2aa8fe15448bc9b9c012a36d102e740172eca from cluster 192.168.1.34:7009 >>> Sending CLUSTER FORGET messages to the cluster... >>> SHUTDOWN the node. [root@mini34 ~]# |
如图已经没有7009节点了,删除成功
3.删除主节点
删除主节点时必须先将主节点中的槽(数据)分配到其他节点上后才能删除,不然会发生数据丢失
3.1迁移待删除主节点的数据
命令:
~/redis-3.2.8/src/redis-trib.rb reshard 目标主节点IP:目标主节点端口
如下:
~/redis-3.2.8/src/redis-trib.rb reshard mini34:7008
[root@mini34 ~]# ~/redis-3.2.8/src/redis-trib.rb reshard mini34:7008 >>> Performing Cluster Check (using node mini34:7008) M: 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 mini34:7008 slots:0-5,5461-5467,10923-10928 (19 slots) master 0 additional replica(s) S: 5bce6e6e8db64dfb9f4dc704739ce5ba55a4e956 127.0.0.1:7004 slots: (0 slots) slave replicates b37b29006c1b7c205cac9ccec729f020224370fa S: 00f224f0da87d31321630dfbaa9ef0170b745706 127.0.0.1:7006 slots: (0 slots) slave replicates c24f0c5d00233b81a79b7cf3b3d28dbcef123328 S: 8d440f94d4fe20cad6a6711e829461187d2141b1 127.0.0.1:7005 slots: (0 slots) slave replicates e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 M: e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 127.0.0.1:7002 slots:5468-10922 (5455 slots) master 1 additional replica(s) M: b37b29006c1b7c205cac9ccec729f020224370fa 127.0.0.1:7001 slots:6-5460 (5455 slots) master 1 additional replica(s) M: c24f0c5d00233b81a79b7cf3b3d28dbcef123328 127.0.0.1:7003 slots:10929-16383 (5455 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. 需要移动多少个槽(我们7008上面只有19个数据槽) How many slots do you want to move (from 1 to 16384)? 19 移动到哪个节点上 What is the receiving node ID? b37b29006c1b7c205cac9ccec729f020224370fa Please enter all the source node IDs. Type 'all' to use all the nodes as source nodes for the hash slots. Type 'done' once you entered all the source nodes IDs. 从哪里移动数据槽(我们这里从7008移动) Source node #1:4f257a0d79ae59ef55b8dfe81e6f89f945469b78 结束,开始执行 Source node #2:done
Ready to move 19 slots. Source nodes: M: 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 mini34:7008 slots:0-5,5461-5467,10923-10928 (19 slots) master 0 additional replica(s) Destination node: M: b37b29006c1b7c205cac9ccec729f020224370fa 127.0.0.1:7001 slots:6-5460 (5455 slots) master 1 additional replica(s) Resharding plan: Moving slot 0 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 1 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 2 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 3 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 4 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5461 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5462 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5463 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5464 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5465 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5466 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 5467 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 10923 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 10924 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 10925 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 10926 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 10927 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 Moving slot 10928 from 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 是否执行以上的执行计划,yes是的 Do you want to proceed with the proposed reshard plan (yes/no)? yes Moving slot 0 from mini34:7008 to 127.0.0.1:7001: Moving slot 1 from mini34:7008 to 127.0.0.1:7001: Moving slot 2 from mini34:7008 to 127.0.0.1:7001: Moving slot 3 from mini34:7008 to 127.0.0.1:7001: Moving slot 4 from mini34:7008 to 127.0.0.1:7001: Moving slot 5 from mini34:7008 to 127.0.0.1:7001: Moving slot 5461 from mini34:7008 to 127.0.0.1:7001: Moving slot 5462 from mini34:7008 to 127.0.0.1:7001: Moving slot 5463 from mini34:7008 to 127.0.0.1:7001: Moving slot 5464 from mini34:7008 to 127.0.0.1:7001: Moving slot 5465 from mini34:7008 to 127.0.0.1:7001: Moving slot 5466 from mini34:7008 to 127.0.0.1:7001: Moving slot 5467 from mini34:7008 to 127.0.0.1:7001: Moving slot 10923 from mini34:7008 to 127.0.0.1:7001: Moving slot 10924 from mini34:7008 to 127.0.0.1:7001: Moving slot 10925 from mini34:7008 to 127.0.0.1:7001: Moving slot 10926 from mini34:7008 to 127.0.0.1:7001: Moving slot 10927 from mini34:7008 to 127.0.0.1:7001: Moving slot 10928 from mini34:7008 to 127.0.0.1:7001: |
查看7008节点信息
mini34:7008> cluster nodes 5bce6e6e8db64dfb9f4dc704739ce5ba55a4e956 127.0.0.1:7004 slave b37b29006c1b7c205cac9ccec729f020224370fa 0 1495136054047 8 connected 00f224f0da87d31321630dfbaa9ef0170b745706 127.0.0.1:7006 slave c24f0c5d00233b81a79b7cf3b3d28dbcef123328 0 1495136056060 3 connected 8d440f94d4fe20cad6a6711e829461187d2141b1 127.0.0.1:7005 slave e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 0 1495136058077 2 connected 7008上面已经没有数据槽了 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 127.0.0.1:7008 myself,master - 0 0 7 connected e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 127.0.0.1:7002 master - 0 1495136056565 2 connected 5468-10922 b37b29006c1b7c205cac9ccec729f020224370fa 127.0.0.1:7001 master - 0 1495136057069 8 connected 0-5467 10923-10928 c24f0c5d00233b81a79b7cf3b3d28dbcef123328 127.0.0.1:7003 master - 0 1495136052032 3 connected 10929-16383 mini34:7008>
|
数据迁移成功!!!!!
3.2删除主节点
命令:
~/redis-3.2.8/src/redis-trib.rb del-node 被删除目标节点ip:被删除目标节点端口 被删除目标节点ID
如下:
~/redis-3.2.8/src/redis-trib.rb del-node 192.168.1.34:7008 4f257a0d79ae59ef55b8dfe81e6f89f945469b78
[root@mini34 ~]# ~/redis-3.2.8/src/redis-trib.rb del-node 192.168.1.34:7008 4f257a0d79ae59ef55b8dfe81e6f89f945469b78
>>> Removing node 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 from cluster 192.168.1.34:7008
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
#删除成功
[root@mini34 ~]#
mini34:7006> cluster nodes b37b29006c1b7c205cac9ccec729f020224370fa 127.0.0.1:7001 master - 0 1495136336818 8 connected 0-5467 10923-10928 00f224f0da87d31321630dfbaa9ef0170b745706 127.0.0.1:7006 myself,slave c24f0c5d00233b81a79b7cf3b3d28dbcef123328 0 0 6 connected 8d440f94d4fe20cad6a6711e829461187d2141b1 127.0.0.1:7005 slave e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 0 1495136332788 5 connected c24f0c5d00233b81a79b7cf3b3d28dbcef123328 127.0.0.1:7003 master - 0 1495136333796 3 connected 10929-16383 e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 127.0.0.1:7002 master - 0 1495136335812 2 connected 5468-10922 5bce6e6e8db64dfb9f4dc704739ce5ba55a4e956 127.0.0.1:7004 slave b37b29006c1b7c205cac9ccec729f020224370fa 0 1495136334806 8 connected mini34:7006> |