Redis集群中的节点操作

添加节点

1)、启动添加的节点,新增7007、7008节点

[root@*** cluster]# mkdir 7007
[root@*** cluster]# cp 7001/redis7001.conf  7007/redis7007.conf
[root@*** cluster]# vim 7007/redis7007.conf 
[root@*** cluster]# mkdir 7008
[root@*** cluster]# cp 7001/redis7001.conf  7008/redis7008.conf
[root@*** cluster]# vim 7008/redis7008.conf 
[root@*** cluster]# ./redis-5.0.4/src/redis-server  7007/redis7007.conf  &
[1] 10823
[root@*** cluster]# ./redis-5.0.4/src/redis-server  7008/redis7008.conf  &
[2] 10829
[1]   Done                    ./redis-5.0.4/src/redis-server 7007/redis7007.conf
[root@*** cluster]# ps -ef|grep redis
root     10595     1  0 14:23 ?        00:00:00 ./redis-5.0.4/src/redis-server 0.0.0.0:7001 [cluster]
root     10824     1  0 14:39 ?        00:00:00 ./redis-5.0.4/src/redis-server 0.0.0.0:7007 [cluster]
root     10830     1  0 14:39 ?        00:00:00 ./redis-5.0.4/src/redis-server 0.0.0.0:7008 [cluster]
root     10835  6959  0 14:39 pts/1    00:00:00 grep --color=auto redis
root     31219     1  0 Jul28 ?        00:00:41 ./redis-5.0.4/src/redis-server 0.0.0.0:7002 [cluster]
root     31224     1  0 Jul28 ?        00:00:43 ./redis-5.0.4/src/redis-server 0.0.0.0:7003 [cluster]
root     31229     1  0 Jul28 ?        00:00:43 ./redis-5.0.4/src/redis-server 0.0.0.0:7004 [cluster]
root     31234     1  0 Jul28 ?        00:00:46 ./redis-5.0.4/src/redis-server 0.0.0.0:7005 [cluster]
root     31240     1  0 Jul28 ?        00:00:42 ./redis-5.0.4/src/redis-server 0.0.0.0:7006 [cluster]
[2]+  Done                    ./redis-5.0.4/src/redis-server 7008/redis7008.conf

2)、查看节点信息

[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564382535278 8 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564382533000 11 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564382535000 8 connected 5462-10922
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564382532274 12 connected 0-5461
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564382536280 11 connected 10923-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564382534000 10 connected

 3)、添加主节点信息

将7007节点加入到集群中:./redis-cli --cluster add-node  节点 集群任一节点

[root@*** cluster]# ./redis-5.0.4/src/redis-cli --cluster add-node 192.168.0.111:7007 192.168.0.111:7001
>>> Adding node 192.168.0.111:7007 to cluster 192.168.0.111:7001
>>> Performing Cluster Check (using node 192.168.0.111:7001)
S: 38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001
   slots: (0 slots) slave
   replicates da006b8e1615f7d338d25bedfb7899eab79e42d2
S: 85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004
   slots: (0 slots) slave
   replicates e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3
S: 17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006
   slots: (0 slots) slave
   replicates d2a31afbd940004162e94c681cff06862a5af72c
M: e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003
   slots:[5462-10922] (5461 slots) master
   1 additional replica(s)
M: da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002
   slots:[0-5461] (5462 slots) master
   1 additional replica(s)
M: d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005
   slots:[10923-16383] (5461 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.
>>> Send CLUSTER MEET to node 192.168.0.111:7007 to make it join the cluster.
[OK] New node added correctly.
[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564383120000 8 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564383115158 11 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564383121168 8 connected 5462-10922
3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007@17007 master - 0 1564383118000 0 connected
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564383119000 12 connected 0-5461
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564383120167 11 connected 10923-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564383118000 10 connected

给7007分配槽,reshard命令

127.0.0.1:7001> quit
[root@*** cluster]# ./redis-5.0.4/src/redis-cli --cluster reshard 192.168.0.111:7001
>>> Performing Cluster Check (using node 192.168.0.111:7001)
S: 38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001
   slots: (0 slots) slave
   replicates da006b8e1615f7d338d25bedfb7899eab79e42d2
S: 85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004
   slots: (0 slots) slave
   replicates e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3
S: 17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006
   slots: (0 slots) slave
   replicates d2a31afbd940004162e94c681cff06862a5af72c
M: e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003
   slots:[6128-10922] (4795 slots) master
   1 additional replica(s)
M: 3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007
   slots:[0-666],[5462-6127],[10923-11588] (1999 slots) master
M: da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002
   slots:[667-5461] (4795 slots) master
   1 additional replica(s)
M: d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005
   slots:[11589-16383] (4795 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.
How many slots do you want to move (from 1 to 16384)? 2000
What is the receiving node ID? 3cad6291c3a949409be29c49c528d95de10ef692
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.
Source node #1: all
.
.
.

Do you want to proceed with the proposed reshard plan (yes/no)? yes
.
.
.
Moving slot 11586 from 192.168.0.111:7005 to 192.168.0.111:7007: 
Moving slot 11587 from 192.168.0.111:7005 to 192.168.0.111:7007: 
Moving slot 11588 from 192.168.0.111:7005 to 192.168.0.111:7007: 

 查看槽分配情况

[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564383859000 8 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564383860278 11 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564383859000 8 connected 6128-10922
3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007@17007 master - 0 1564383861279 13 connected 0-666 5462-6127 10923-11588
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564383859277 12 connected 667-5461
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564383857275 11 connected 11589-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564383860000 10 connected

 4)、添加从节点

将节点7008添加到集群中

127.0.0.1:7001>  quit
[root@*** cluster]# ./redis-5.0.4/src/redis-cli --cluster add-node 192.168.0.111:7008 192.168.0.111:7001
>>> Adding node 192.168.0.111:7008 to cluster 192.168.0.111:7001
>>> Performing Cluster Check (using node 192.168.0.111:7001)
S: 38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001
   slots: (0 slots) slave
   replicates da006b8e1615f7d338d25bedfb7899eab79e42d2
S: 85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004
   slots: (0 slots) slave
   replicates e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3
S: 17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006
   slots: (0 slots) slave
   replicates d2a31afbd940004162e94c681cff06862a5af72c
M: e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003
   slots:[6128-10922] (4795 slots) master
   1 additional replica(s)
M: 3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007
   slots:[0-666],[5462-6127],[10923-11588] (1999 slots) master
M: da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002
   slots:[667-5461] (4795 slots) master
   1 additional replica(s)
M: d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005
   slots:[11589-16383] (4795 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.
>>> Send CLUSTER MEET to node 192.168.0.111:7008 to make it join the cluster.
[OK] New node added correctly.

 查看节点信息

[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564388890000 8 connected
46b8f36c720f76a1c3d6e6a8bff1426a996760fa 192.168.0.111:7008@17008 master - 0 1564388887000 0 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564388888000 11 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564388890000 8 connected 6128-10922
3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007@17007 master - 0 1564388891000 13 connected 0-666 5462-6127 10923-11588
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564388890000 12 connected 667-5461
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564388891932 11 connected 11589-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564388888000 10 connected

将7008设置成7007的从节点,切换到从节点(7008)下,执行cluster replicate 主节点id

127.0.0.1:7001> quit
[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7008
127.0.0.1:7008> cluster replicate 3cad6291c3a949409be29c49c528d95de10ef692
OK
127.0.0.1:7008> cluster nodes
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564390547748 11 connected 11589-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564390546000 12 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564390546000 11 connected
46b8f36c720f76a1c3d6e6a8bff1426a996760fa 192.168.0.111:7008@17008 myself,slave 3cad6291c3a949409be29c49c528d95de10ef692 0 1564390548000 0 connected
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564390547000 8 connected
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564390547000 12 connected 667-5461
3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007@17007 master - 0 1564390548750 13 connected 0-666 5462-6127 10923-11588
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564390544000 8 connected 6128-10922

删除节点

删除从节点(7008),查看节点信息

./redis-cli --cluster del-node 从节点ip:port 从节点id

127.0.0.1:7008> quit
[root@*** cluster]# ./redis-5.0.4/src/redis-cli --cluster del-node 192.168.0.111:7008 46b8f36c720f76a1c3d6e6a8bff1426a996760fa
>>> Removing node 46b8f36c720f76a1c3d6e6a8bff1426a996760fa from cluster 192.168.0.111:7008
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564390952064 8 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564390951062 11 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564390950000 8 connected 6128-10922
3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007@17007 master - 0 1564390950000 13 connected 0-666 5462-6127 10923-11588
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564390950061 12 connected 667-5461
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564390949060 11 connected 11589-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564390949000 10 connected

删除主节点(7007)

主节点(7007)中存在槽,在删除主节点之前需要迁移到其他主节点(7002)

127.0.0.1:7001> quit
[root@*** cluster]# ./redis-5.0.4/src/redis-cli --cluster reshard 192.168.0.111:7001
>>> Performing Cluster Check (using node 192.168.0.111:7001)
S: 38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001
   slots: (0 slots) slave
   replicates da006b8e1615f7d338d25bedfb7899eab79e42d2
S: 85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004
   slots: (0 slots) slave
   replicates e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3
S: 17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006
   slots: (0 slots) slave
   replicates d2a31afbd940004162e94c681cff06862a5af72c
M: e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003
   slots:[6128-10922] (4795 slots) master
   1 additional replica(s)
M: 3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007
   slots:[0-666],[5462-6127],[10923-11588] (1999 slots) master
M: da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002
   slots:[667-5461] (4795 slots) master
   1 additional replica(s)
M: d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005
   slots:[11589-16383] (4795 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.
How many slots do you want to move (from 1 to 16384)? 2000
What is the receiving node ID? da006b8e1615f7d338d25bedfb7899eab79e42d2
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.
Source node #1: 3cad6291c3a949409be29c49c528d95de10ef692
Source node #2: done
.
.
.
    Moving slot 11587 from 3cad6291c3a949409be29c49c528d95de10ef692
    Moving slot 11588 from 3cad6291c3a949409be29c49c528d95de10ef692
Do you want to proceed with the proposed reshard plan (yes/no)? yes
.
.
.
Moving slot 11586 from 192.168.0.111:7007 to 192.168.0.111:7002: 
Moving slot 11587 from 192.168.0.111:7007 to 192.168.0.111:7002: 
Moving slot 11588 from 192.168.0.111:7007 to 192.168.0.111:7002: 

查看节点信息,7007下的槽已经迁移到7002

[root@***cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564393685241 15 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564393686000 19 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564393686000 17 connected 6128-10922
3cad6291c3a949409be29c49c528d95de10ef692 192.168.0.111:7007@17007 master - 0 1564393686243 18 connected
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564393687244 19 connected 0-6127 10923-11588
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564393685000 15 connected 11589-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564393685000 10 connected

删除节点7007,再次查看节点信息

127.0.0.1:7001> quit
You have new mail in /var/spool/mail/root
[root@*** cluster]# ./redis-5.0.4/src/redis-cli --cluster del-node 192.168.0.111:7007 3cad6291c3a949409be29c49c528d95de10ef692
>>> Removing node 3cad6291c3a949409be29c49c528d95de10ef692 from cluster 192.168.0.111:7007
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@*** cluster]# ./redis-5.0.4/src/redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes
85d9276e71faf2a3bfe7c9041d920678c4082623 192.168.0.111:7004@17004 slave d2a31afbd940004162e94c681cff06862a5af72c 0 1564393885000 15 connected
17c67f03e8354f492fbd4a6be1f79a53c23e8507 192.168.0.111:7006@17006 slave da006b8e1615f7d338d25bedfb7899eab79e42d2 0 1564393884537 19 connected
e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 192.168.0.111:7003@17003 master - 0 1564393884000 17 connected 6128-10922
da006b8e1615f7d338d25bedfb7899eab79e42d2 192.168.0.111:7002@17002 master - 0 1564393885538 19 connected 0-6127 10923-11588
d2a31afbd940004162e94c681cff06862a5af72c 192.168.0.111:7005@17005 master - 0 1564393886539 15 connected 11589-16383
38206edb37cf100e20085da0affaeced4ae42029 192.168.0.111:7001@17001 myself,slave e4fee6a90d5b071ad514cd30f8d5d9a1c13947b3 0 1564393885000 10 connected

 

 

如果有写的不对的地方,请大家多多批评指正,非常感谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值