Notes ten clusters redis water volume reduction

What is a cluster volume reduction ?

   That white is offline nodes to determine whether there are slot on the node, the node and cluster forgotten after some migration, or directly to forget that node.

2, the following steps

   1, node needs to find off the assembly line

   2, to determine whether the node has a slot, there were slot migration

   3, node offline

3, practice?

[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes
8c2846698b49aed95674ad2e4eef5d501563f874 127.0.0.1:8005@18005 slave 30309728ad48df61e40d6f476740579e66398b02 0 1576589597238 6 connected
a1021b42a93d35dbf75b5b515ea50e20515e92b6 127.0.0.1:8003@18003 slave ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 0 1576589598000 4 connected
5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576589600261 8 connected 0-1364 5461-6826 10923-12287
432fd513c07235f74a31bed836f533bf4ecb3889 127.0.0.1:8000@18000 myself,slave d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 0 1576589598000 1 connected
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576589599252 2 connected 6827-10922
cb38909023f6e152cb6d638f0c8e9957d17ce4fa 127.0.0.1:8006@18006 slave 5623991f7d23e0dc09f17e19688d3a65b91002f0 0 1576589598247 8 connected
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576589599000 3 connected 12288-16383
d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 127.0.0.1:8004@18004 master - 0 1576589597000 7 connected 1365-5460
[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes |grep master
5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576589606000 8 connected 0-1364 5461-6826 10923-12287
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576589606307 2 connected 6827-10922
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576589606000 3 connected 12288-16383
d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 127.0.0.1:8004@18004 master - 0 1576589605000 7 connected 1365-5460

We can see that we now have four master node. Suppose we need to be offline node 8007. This does have the above can be found in the data slot.

It must migrate slot.

Using the cluster command, arg refers to the id value.

  reshard        host:port
                 --cluster-from <arg>
                 --cluster-to <arg>
                 --cluster-slots <arg>
                 --cluster-yes
                 --cluster-timeout <arg>
                 --cluster-pipeline <arg>
                 --cluster-replace

8007 We have found the following slots

5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576589606000 8 connected 0-1364 5461-6826 10923-12287

We now move to the 0-1364 slots go above 8001.

8001 is the number of slots

30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576591005000 9 connected  6827-10922

Excuting an order:

[root@hadoop05 bin]# ./redis-cli --cluster reshard 127.0.0.1:8007 --cluster-from 5623991f7d23e0dc09f17e19688d3a65b91002f0 --cluster-to 30309728ad48df61e40d6f476740579e66398b02 --cluster-slots 1365

View Results:

[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes | grep master
5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576591003000 8 connected 5461-6826 10923-12287
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576591005000 9 connected 0-1364 6827-10922
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576591006695 3 connected 12288-16383

Found executed successfully; once carried the remaining slot for migration

[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes | grep master
5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576591504000 8 connected 10928-12287
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576591503652 9 connected 0-1364 6827-10922
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576591503000 10 connected 5461-6826 10923-10927 12288-16383
d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 127.0.0.1:8004@18004 master - 0 1576591505679 7 connected 1365-5460
[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes | grep master
5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576591592000 8 connected
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576591593000 9 connected 0-1364 6827-10922
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576591595740 10 connected 5461-6826 10923-10927 12288-16383
d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 127.0.0.1:8004@18004 master - 0 1576591594758 11 connected 1365-5460 10928-12287

It found that slots have been migrated finished. The node can now be off the assembly line, and

Attention to a problem: first offline slave nodes or master node?

We know from the main mechanism, if the master node goes down, slave node becomes the master node.

First offline master node, the slave node offline.

4, the node offline

  del-node       host:port node_id
[root@hadoop05 bin]# ./redis-cli  --cluster  del-node 127.0.0.1:8006 cb38909023f6e152cb6d638f0c8e9957d17ce4fa
>>> Removing node cb38909023f6e152cb6d638f0c8e9957d17ce4fa from cluster 127.0.0.1:8006
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@hadoop05 bin]# ./redis-cli -p 8000 cluster ndoes
(error) ERR Unknown subcommand or wrong number of arguments for 'ndoes'. Try CLUSTER HELP.
[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes
8c2846698b49aed95674ad2e4eef5d501563f874 127.0.0.1:8005@18005 slave 30309728ad48df61e40d6f476740579e66398b02 0 1576591844000 9 connected
a1021b42a93d35dbf75b5b515ea50e20515e92b6 127.0.0.1:8003@18003 slave ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 0 1576591844000 10 connected
5623991f7d23e0dc09f17e19688d3a65b91002f0 127.0.0.1:8007@18007 master - 0 1576591844000 8 connected
432fd513c07235f74a31bed836f533bf4ecb3889 127.0.0.1:8000@18000 myself,slave d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 0 1576591840000 1 connected
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576591845769 9 connected 0-1364 6827-10922
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576591846783 10 connected 5461-6826 10923-10927 12288-16383
d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 127.0.0.1:8004@18004 master - 0 1576591846000 11 connected 1365-5460 10928-12287
[root@hadoop05 bin]# 

8006 found that the cluster node does leave. node-id is the key.

Similarly offline 8007

[root@hadoop05 bin]# ./redis-cli  --cluster  del-node 127.0.0.1:8000 5623991f7d23e0dc09f17e19688d3a65b91002f0
>>> Removing node 5623991f7d23e0dc09f17e19688d3a65b91002f0 from cluster 127.0.0.1:8000
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@hadoop05 bin]# ./redis-cli -p 8000 cluster nodes
8c2846698b49aed95674ad2e4eef5d501563f874 127.0.0.1:8005@18005 slave 30309728ad48df61e40d6f476740579e66398b02 0 1576591967000 9 connected
a1021b42a93d35dbf75b5b515ea50e20515e92b6 127.0.0.1:8003@18003 slave ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 0 1576591965000 10 connected
432fd513c07235f74a31bed836f533bf4ecb3889 127.0.0.1:8000@18000 myself,slave d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 0 1576591964000 1 connected
30309728ad48df61e40d6f476740579e66398b02 127.0.0.1:8001@18001 master - 0 1576591967263 9 connected 0-1364 6827-10922
ba807182f5cc573fc100d4d64ef9a4b1ecf0419f 127.0.0.1:8002@18002 master - 0 1576591967000 10 connected 5461-6826 10923-10927 12288-16383
d238b4d6c4c54a614a57f0c6f99d07c296f9ff1b 127.0.0.1:8004@18004 master - 0 1576591968279 11 connected 1365-5460 10928-12287
[root@hadoop05 bin]# 

Can be found in 8007 left the cluster.

 

Published 61 original articles · won praise 1 · views 655

Guess you like

Origin blog.csdn.net/u012842247/article/details/103588280