ERM redis network_error ai_generated partial

副本无盘复制失败:等待主节点 RDB 文件超时

ERR Replica diskless replication failed: timeout waiting for RDB file from master

ID: redis/replica-diskless-replication-timeout

其他格式: JSON · Markdown 中文 · English
82%修复率
87%置信度
1证据数
2023-06-12首次发现

版本兼容性

版本状态引入弃用备注
6.0 active
7.0 active
7.2 active

根因分析

副本在无盘复制期间未在 repl-timeout 内收到完整的 RDB 文件,通常由于网络拥塞或主节点 I/O 缓慢。

English

The replica did not receive the full RDB file within repl-timeout during diskless replication, often due to network congestion or slow master I/O.

generic

官方文档

https://redis.io/docs/latest/operate/oss_and_stack/management/replication/

解决方案

  1. 使用 'redis-cli --latency' 检查主节点和副本之间的网络延迟。如果超过 100ms,考虑将其放在同一数据中心或使用更快的链路。
  2. 在主节点上运行 'CONFIG SET repl-timeout 120' 和 'CONFIG SET repl-backlog-size 100mb' 以容纳更大的 RDB 文件。

无效尝试

常见但无效的做法:

  1. 55% 失败

    Falls back to disk-based replication, which can be slower and cause disk I/O spikes.

  2. 65% 失败

    May mask underlying network issues; can cause long failover delays.

  3. 75% 失败

    Temporary fix; timeout will recur if network or master issues persist.