← 中文资源

简体中文版本

Redis CLUSTERDOWN: 集群不可用

修复 Redis 的 CLUSTERDOWN:恢复槽位覆盖、处理失效的槽位属主,并理解 cluster-require-full-coverage 设置。

阅读英文原文

症状

所有命令都返回 CLUSTERDOWN The cluster is down,包括针对槽位仍有健康属主的键的命令。部分节点本身是连通且存活的。

诊断

找出未覆盖的槽位及其原属主:

redis-cli -c CLUSTER INFO | grep -E 'cluster_state|cluster_slots_assigned'
redis-cli -c CLUSTER SLOTS
redis-cli -c CLUSTER NODES

已分配槽位低于 16384,即暴露了缺口。

修复

提升副本或重新分配孤立槽位:

redis-cli -c -h failed-master-replica CLUSTER FAILOVER
redis-cli -c CLUSTER ADDSLOTS 8000 8001 8002

可临时放宽覆盖要求,使健康槽位继续服务:

redis-cli config set cluster-require-full-coverage no

验证

CLUSTER INFO 显示 cluster_state:ok 且 16384 个槽位全部已分配,各键范围的读写均恢复正常。