添加节点
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
如果有写的不对的地方,请大家多多批评指正,非常感谢!