一、创建网络
docker network create --subnet=172.10.1.0/24 redis
二、创建 Redis 容器
创建6个redis实例
docker create --name redis1 --net host --privileged=true -v /data/redis/share/redis1:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6381
docker create --name redis2 --net host --privileged=true -v /data/redis/share/redis2:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6382
docker create --name redis3 --net host --privileged=true -v /data/redis/share/redis3:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6383
docker create --name redis4 --net host --privileged=true -v /data/redis/share/redis4:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6384
docker create --name redis5 --net host --privileged=true -v /data/redis/share/redis5:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6385
docker create --name redis6 --net host --privileged=true -v /data/redis/share/redis6:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6386
命令说明:
docker create // 创建容器
–name redis1 // 容器名
–net host // docker网络,使用宿主机的ip和端口
–privileged=true // docker容器,获取宿主机root权限
-v /data/redis/share/redis1:/data // 容器的/data 挂载到宿主机 /data/redis/share/redis-node-1
redis:5.0.7 // redis 镜像名称和版本号
–cluster-enabled yes // redis.conf的配置:开启redis集群
–appendonly yes // redis.conf的配置:开启数据持久化
–port 6381 // redis.conf的配置:redis端口号
三、启动容器
docker start redis1 redis2 redis3 redis4 redis5 redis6
四、创建集群
1.进入redis1容器中
docker exec -it redis1 /bin/bash
2.配置一主一从
redis-cli --cluster create 192.168.20.10:6381 192.168.20.10:6382 192.168.20.10:6383 192.168.20.10:6384 192.168.20.10:6385 192.168.20.10:6386 --cluster-replicas 1
3.查看集群信息
(1)进入redis客户端
redis-cli -h 192.168.20.10 -p 6381 -c
(2)查看集群信息
cluster info
(3)查看节点信息
cluster nodes
(4)查看集群槽位信息
退出redis客户端执行命令
redis-cli --cluster check 192.168.20.10:6381
五、redis集群哈希槽扩容
1.新增两台redis
docker create --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6387
docker create --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6388
2.启动容器
docker start redis-node-7 redis-node-8
3.添加6387为master节点
(1)进入容器内
docker exec -it redis-node-7 /bin/bash
(2)添加节点
redis-cli --cluster add-node 192.168.20.10:6387 192.168.20.10:6381
说明:
192.168.20.10:6387:被添加节点
192.168.20.10:6381:集群内任意节点
执行结果:
root@dev:/data# redis-cli --cluster add-node 192.168.20.10:6387 192.168.20.10:6381
>>> Adding node 192.168.20.10:6387 to cluster 192.168.20.10:6381
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
[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.20.10:6387 to make it join the cluster.
[OK] New node added correctly.
123456789101112131415161718192021222324252627
(3)查看节点信息
redis-cli --cluster check 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster check 192.168.20.10:6381
192.168.20.10:6381 (e3b68766...) -> 0 keys | 5461 slots | 1 slaves.
192.168.20.10:6382 (981842c6...) -> 1 keys | 5462 slots | 1 slaves.
192.168.20.10:6383 (1b826b53...) -> 0 keys | 5461 slots | 1 slaves.
192.168.20.10:6387 (c4629e20...) -> 0 keys | 0 slots | 0 slaves.
[OK] 1 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots: (0 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
通过信息可以发现,6387 节点虽然已成功加入到集群,但并未分配槽号。
(4)分配槽号
redis-cli --cluster reshard 192.168.20.10:6381
说明:
192.168.20.10:6381:集群中任意节点 ip:port
执行结果
root@dev:/data# redis-cli --cluster reshard 192.168.20.10:6381
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots: (0 slots) master
[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)? 4096 # 设置槽数据 16384/master 台数
What is the receiving node ID? c4629e200d17cfa3625d5769e279e02948a1386b # 输入新节点 node id
Please enter all the source node IDs.
Type 'all' to user all the nodes as source nodes for the hash slots.
Type 'done' once you entered all the source nodes IDs.
Source node #1: all # 表示全部节点重新分配槽号
(5)再次查看节点信息
redis-cli --cluster check 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster check 192.168.20.10:6381
192.168.20.10:6381 (e3b68766...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6382 (981842c6...) -> 1 keys | 4096 slots | 1 slaves.
192.168.20.10:6383 (1b826b53...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6387 (c4629e20...) -> 0 keys | 4096 slots | 0 slaves.
[OK] 1 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[1365-5460] (4096 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
可以看出每个节点都分配了 4096 个槽号,但是 新加入的节点所分配的槽号并不是连续的。
因为对于新加入的节点,要重新分配槽号成本较大,故从三个旧节点移动部分槽号给新节点。
4.为新加入的master节点分配从节点
(1)将 6388 设置为 6387 从节点
redis-cli --cluster add-node 192.168.20.10:6388 192.168.20.10:6387 --cluster-slave --cluster-master-id c4629e200d17cfa3625d5769e279e02948a1386b
说明:
add-node:后边分别为新加入的节点和节点对应的master
cluster-slave:表示新加入的节点是slave节点
–cluster-master-id:表示slave对应的master的node ID
执行结果:
root@dev:/data# redis-cli --cluster add-node 192.168.20.10:6388 192.168.20.10:6387 --cluster-slave --cluster-master-id c4629e200d17cfa3625d5769e279e02948a1386b
>>> Adding node 192.168.20.10:6388 to cluster 192.168.20.10:6387
>>> Performing Cluster Check (using node 192.168.20.10:6387)
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[1365-5460] (4096 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
[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.20.10:6388 to make it join the cluster.
Waiting for the cluster to join
>>> Configure node as replica of 192.168.20.10:6387.
[OK] New node added correctly.
(2)查看节点信息
redis-cli --cluster check 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster check 192.168.20.10:6381
192.168.20.10:6381 (e3b68766...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6382 (981842c6...) -> 1 keys | 4096 slots | 1 slaves.
192.168.20.10:6383 (1b826b53...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6387 (c4629e20...) -> 0 keys | 4096 slots | 1 slaves.
[OK] 1 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[1365-5460] (4096 slots) master
1 additional replica(s)
S: 7f81ef37a7ae89311f0c58542a3b92b87879e8a5 192.168.20.10:6388
slots: (0 slots) slave
replicates c4629e200d17cfa3625d5769e279e02948a1386b
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots:[0-1364],[5461-6826],[10923-12287] (4096 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.
可以看出从节点已加入成功。
六、redis集群哈希槽收缩
(1)删除master对应slave节点
redis-cli --cluster del-node 192.168.20.10:6388 7f81ef37a7ae89311f0c58542a3b92b87879e8a5
说明:
192.168.20.10:6388:对应被删除节点
7f81ef37a7ae89311f0c58542a3b92b87879e8a5:对应被删除节点 node id
执行结果:
root@dev:/data# redis-cli --cluster del-node 192.168.20.10:6388 7f81ef37a7ae89311f0c58542a3b92b87879e8a5
>>> Removing node 7f81ef37a7ae89311f0c58542a3b92b87879e8a5 from cluster 192.168.20.10:6388
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
(2)查看节点信息
redis-cli --cluster check 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster check 192.168.20.10:6381
192.168.20.10:6381 (e3b68766...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6382 (981842c6...) -> 1 keys | 4096 slots | 1 slaves.
192.168.20.10:6383 (1b826b53...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6387 (c4629e20...) -> 0 keys | 4096 slots | 0 slaves.
[OK] 1 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[1365-5460] (4096 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
可以看出集群中已无 6388 节点。
(3)查看容器
退出容器,查看容器状态,可以看到 redis-node-8
容器已被停用
root@dev:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c9827168c61d redis:5.0.7 "docker-entrypoint.s…" 2 hours ago Up 2 hours redis-node-7
d1ad96f4a4ee redis:5.0.7 "docker-entrypoint.s…" 9 days ago Up 3 hours redis6
db82428f5225 redis:5.0.7 "docker-entrypoint.s…" 9 days ago Up 3 hours redis5
5a0c7a3516f5 redis:5.0.7 "docker-entrypoint.s…" 9 days ago Up 2 hours redis4
cf9863611d0b redis:5.0.7 "docker-entrypoint.s…" 9 days ago Up 3 hours redis3
7fa64b2a8071 redis:5.0.7 "docker-entrypoint.s…" 9 days ago Up 3 hours redis2
eae771794f0c redis:5.0.7 "docker-entrypoint.s…" 9 days ago Up 2 hours redis1
(4)重新分配 6387 的槽号
需先进入任意一台redis容器
执行命令
redis-cli --cluster reshard 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster reshard 192.168.20.10:6381
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[1365-5460] (4096 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
[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)? 4096 # 被删除的槽的数量
What is the receiving node ID? e3b687667d24189134183edac32bf9a4f69c6033 # 接手被删除槽号的 node id,这里指定给 6381。这里只能输入一个node id,若想将槽号分配给多个 node 需要多次执行该命令
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: c4629e200d17cfa3625d5769e279e02948a1386b # 删除槽号的node id
Source node #2: done # done 表示输入node id 结束(这里可以输入多个node id)
Do you want to proceed with the proposed reshard plan (yes/no)? yes
(5)再次查看节点信息
redis-cli --cluster check 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster check 192.168.20.10:6381
192.168.20.10:6381 (e3b68766...) -> 0 keys | 8192 slots | 1 slaves.
192.168.20.10:6382 (981842c6...) -> 1 keys | 4096 slots | 1 slaves.
192.168.20.10:6383 (1b826b53...) -> 0 keys | 4096 slots | 1 slaves.
192.168.20.10:6387 (c4629e20...) -> 0 keys | 0 slots | 0 slaves.
[OK] 1 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[0-6826],[10923-12287] (8192 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
M: c4629e200d17cfa3625d5769e279e02948a1386b 192.168.20.10:6387
slots: (0 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
这里可以看到 6387 已不包含任何槽号。
(6)删除节点 6387
redis-cli --cluster del-node 192.168.20.10:6387 c4629e200d17cfa3625d5769e279e02948a1386b
执行结果:
root@dev:/data# redis-cli --cluster del-node 192.168.20.10:6387 c4629e200d17cfa3625d5769e279e02948a1386b
>>> Removing node c4629e200d17cfa3625d5769e279e02948a1386b from cluster 192.168.20.10:6387
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
(7)再次查看节点信息
redis-cli --cluster check 192.168.20.10:6381
执行结果:
root@dev:/data# redis-cli --cluster check 192.168.20.10:6381
192.168.20.10:6381 (e3b68766...) -> 0 keys | 8192 slots | 1 slaves.
192.168.20.10:6382 (981842c6...) -> 1 keys | 4096 slots | 1 slaves.
192.168.20.10:6383 (1b826b53...) -> 0 keys | 4096 slots | 1 slaves.
[OK] 1 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.20.10:6381)
M: e3b687667d24189134183edac32bf9a4f69c6033 192.168.20.10:6381
slots:[0-6826],[10923-12287] (8192 slots) master
1 additional replica(s)
M: 981842c6e96abe8abc34326400565e0b2c44dd0f 192.168.20.10:6382
slots:[6827-10922] (4096 slots) master
1 additional replica(s)
S: 4f65496819a0490760d4e1375fb7a371732a1ba8 192.168.20.10:6386
slots: (0 slots) slave
replicates 1b826b5348a69af7054e04c3908ee066e9649ae0
S: c450e9af3b9d84c4e8cee6e70e7317628c4a9960 192.168.20.10:6384
slots: (0 slots) slave
replicates e3b687667d24189134183edac32bf9a4f69c6033
M: 1b826b5348a69af7054e04c3908ee066e9649ae0 192.168.20.10:6383
slots:[12288-16383] (4096 slots) master
1 additional replica(s)
S: 88be3f5ac4cd4c468004e829f3857666e9ff9bc5 192.168.20.10:6385
slots: (0 slots) slave
replicates 981842c6e96abe8abc34326400565e0b2c44dd0f
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
可以看出 6387 节点已被删除。