SENTINEL
redis
runtime_error
ai_generated
true
SENTINEL:故障转移中止 - 未找到主节点 'mymaster' 的候选副本
SENTINEL: failover aborted - no good replica found for master 'mymaster'
ID: redis/sentinel-failover-no-good-replica
80%修复率
84%置信度
1证据数
2024-01-12首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| redis 6.2 | active | — | — | — |
| redis 7.0 | active | — | — | — |
| redis 7.2 | active | — | — | — |
根因分析
Sentinel 无法提升任何副本,因为所有副本要么过时(数据太旧)、宕机,要么优先级为 0。
English
Sentinel could not promote any replica because all replicas are either stale (data too old), down, or have priority 0.
官方文档
https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/解决方案
-
Check replica replication lag and priority: INFO REPLICATION on each replica Ensure at least one replica has lag < sentinel-replica-down-after-milliseconds and priority > 0. If lag is high, wait for sync or manually trigger replication from master.
-
Adjust replica priority to 1 (default) on all replicas: CONFIG SET replica-priority 1 This ensures they are eligible for promotion.
无效尝试
常见但无效的做法:
-
65% 失败
Timeout increase does not fix stale or down replicas; failover will still abort.
-
75% 失败
If the replica is too stale, promoting it can cause data loss and inconsistency.
-
80% 失败
Restarting sentinels does not change replica state; they will still see the same condition.