redis cluster集群删除节点

当前集群信息

redis-cli --cluster check 10.0.0.11:6379 -a 1qaz@WSX
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
10.0.0.11:6379 (517e5630...) -> 0 keys | 4096 slots | 1 slaves.
10.0.0.17:6379 (412addaa...) -> 0 keys | 4096 slots | 1 slaves.
10.0.0.15:6379 (54394b24...) -> 0 keys | 4096 slots | 1 slaves.
10.0.0.13:6379 (8ac8123b...) -> 0 keys | 4096 slots | 1 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 10.0.0.11:6379)
M: 517e5630bfb0a3273b3cf0dd810f11997f2493dc 10.0.0.11:6379
   slots:[1366-5461] (4096 slots) master
   1 additional replica(s)
M: 412addaa1d545f65786a19c46d4089841398b68d 10.0.0.17:6379
   slots:[0-1365],[5462-6826],[10923-12287] (4096 slots) master
   1 additional replica(s)
M: 54394b240d3b8374a3145e92fd4934bfe67688ad 10.0.0.15:6379
   slots:[12288-16383] (4096 slots) master
   1 additional replica(s)
S: 52cdf1e8df84d9a57820c9e203daf80e241b1113 10.0.0.16:6379
   slots: (0 slots) slave
   replicates 54394b240d3b8374a3145e92fd4934bfe67688ad
S: 1e997db9e9d235de2f9cdf2465d93e476a99990f 10.0.0.18:6379
   slots: (0 slots) slave
   replicates 412addaa1d545f65786a19c46d4089841398b68d
S: 8af4a3fb041f8225780748bd0c559b5604fecb6a 10.0.0.14:6379
   slots: (0 slots) slave
   replicates 8ac8123b45f85b097dde14c1947335be7b3229f1
M: 8ac8123b45f85b097dde14c1947335be7b3229f1 10.0.0.13:6379
   slots:[6827-10922] (4096 slots) master
   1 additional replica(s)
S: 24acc1a09525df3c209e0ea75ab5aa24ac3bf047 10.0.0.12:6379
   slots: (0 slots) slave
   replicates 517e5630bfb0a3273b3cf0dd810f11997f2493dc
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

我们下线10.0.0.17(主)和10.0.0.18(从)两个节点

删除主节点

主节点一般都有槽位存在,需要先把槽位迁移到其他节点,保证整个集群槽节点映射完整性。

# --cluster-form   指定要删除的主节点的ID
# --cluster-to    指的是迁移槽位到指定主节点的ID ,我们需要平衡槽位,剩余的3个主节点要一一平分
# --cluster-slots 1365  指的是要迁移多少个槽位,要删除节点的存在槽位是4096个,平分到其余3个主节点,4096/3=1365.3 ,看到不是整数,我们就前面两个主节点迁移槽位1365个,最后一个主节点迁移1366个。
# 既然要一一平分到剩余的3个主节点,要迁3次:
redis-cli  --cluster reshard --cluster-from 412addaa1d545f65786a19c46d4089841398b68d --cluster-to 517e5630bfb0a3273b3cf0dd810f11997f2493dc --cluster-slots 1365 10.0.0.11:6379 -a 1qaz@WSX
redis-cli  --cluster reshard --cluster-from 412addaa1d545f65786a19c46d4089841398b68d --cluster-to 8ac8123b45f85b097dde14c1947335be7b3229f1 --cluster-slots 1365 10.0.0.11:6379 -a 1qaz@WSX
redis-cli  --cluster reshard --cluster-from 412addaa1d545f65786a19c46d4089841398b68d --cluster-to 54394b240d3b8374a3145e92fd4934bfe67688ad --cluster-slots 1366 10.0.0.11:6379 -a 1qaz@WSX

迁移完槽位之后,查看当前的槽位信息:

redis-cli --cluster check 10.0.0.11:6379 -a 1qaz@WSX
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
10.0.0.11:6379 (517e5630...) -> 0 keys | 5461 slots | 1 slaves.
10.0.0.15:6379 (54394b24...) -> 0 keys | 5462 slots | 3 slaves.
10.0.0.13:6379 (8ac8123b...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 10.0.0.11:6379)
M: 517e5630bfb0a3273b3cf0dd810f11997f2493dc 10.0.0.11:6379
   slots:[0-1364],[1366-5461] (5461 slots) master
   1 additional replica(s)
S: 412addaa1d545f65786a19c46d4089841398b68d 10.0.0.17:6379
   slots: (0 slots) slave
   replicates 54394b240d3b8374a3145e92fd4934bfe67688ad
M: 54394b240d3b8374a3145e92fd4934bfe67688ad 10.0.0.15:6379
   slots:[6826],[10923-16383] (5462 slots) master
   3 additional replica(s)
S: 52cdf1e8df84d9a57820c9e203daf80e241b1113 10.0.0.16:6379
   slots: (0 slots) slave
   replicates 54394b240d3b8374a3145e92fd4934bfe67688ad
S: 1e997db9e9d235de2f9cdf2465d93e476a99990f 10.0.0.18:6379
   slots: (0 slots) slave
   replicates 54394b240d3b8374a3145e92fd4934bfe67688ad
S: 8af4a3fb041f8225780748bd0c559b5604fecb6a 10.0.0.14:6379
   slots: (0 slots) slave
   replicates 8ac8123b45f85b097dde14c1947335be7b3229f1
M: 8ac8123b45f85b097dde14c1947335be7b3229f1 10.0.0.13:6379
   slots:[1365],[5462-6825],[6827-10922] (5461 slots) master
   1 additional replica(s)
S: 24acc1a09525df3c209e0ea75ab5aa24ac3bf047 10.0.0.12:6379
   slots: (0 slots) slave
   replicates 517e5630bfb0a3273b3cf0dd810f11997f2493dc
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

可以看到10.0.0.17的槽位为0了,并自动变成了从节点。而其他3个主节点槽位分别5461个,5461个,5462个,5461+5461+5462=16384。

并且10.0.0.18的主节点变为了10.0.0.15。

删除从节点

从节点一般都不会有槽位存在,直接删除即可。

redis-cli --cluster del-node 10.0.0.17:6379  412addaa1d545f65786a19c46d4089841398b68d   -a 1qaz@WSX
redis-cli --cluster del-node 10.0.0.18:6379  1e997db9e9d235de2f9cdf2465d93e476a99990f  -a 1qaz@WSX

之后查看槽位和集群状态:

redis-cli --cluster check 10.0.0.11:6379 -a 1qaz@WSX
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
10.0.0.11:6379 (517e5630...) -> 0 keys | 5461 slots | 1 slaves.
10.0.0.15:6379 (54394b24...) -> 0 keys | 5462 slots | 1 slaves.
10.0.0.13:6379 (8ac8123b...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 10.0.0.11:6379)
M: 517e5630bfb0a3273b3cf0dd810f11997f2493dc 10.0.0.11:6379
   slots:[0-1364],[1366-5461] (5461 slots) master
   1 additional replica(s)
M: 54394b240d3b8374a3145e92fd4934bfe67688ad 10.0.0.15:6379
   slots:[6826],[10923-16383] (5462 slots) master
   1 additional replica(s)
S: 52cdf1e8df84d9a57820c9e203daf80e241b1113 10.0.0.16:6379
   slots: (0 slots) slave
   replicates 54394b240d3b8374a3145e92fd4934bfe67688ad
S: 8af4a3fb041f8225780748bd0c559b5604fecb6a 10.0.0.14:6379
   slots: (0 slots) slave
   replicates 8ac8123b45f85b097dde14c1947335be7b3229f1
M: 8ac8123b45f85b097dde14c1947335be7b3229f1 10.0.0.13:6379
   slots:[1365],[5462-6825],[6827-10922] (5461 slots) master
   1 additional replica(s)
S: 24acc1a09525df3c209e0ea75ab5aa24ac3bf047 10.0.0.12:6379
   slots: (0 slots) slave
   replicates 517e5630bfb0a3273b3cf0dd810f11997f2493dc
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

删除节点完成

posted @ 2025-08-30 15:49  阿峰博客站  阅读(37)  评论(0)    收藏  举报