kafka
runtime_error
ai_generated
partial
org.apache.kafka.common.errors.ReplicaNotAvailableException:分区的副本不可用
org.apache.kafka.common.errors.ReplicaNotAvailableException: Replica for partition is not available
ID: kafka/replica-not-available
85%修复率
84%置信度
1证据数
2023-09-20首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 2.8.2 | active | — | — | — |
| 3.2.3 | active | — | — | — |
| 3.5.1 | active | — | — | — |
根因分析
请求的分区的跟随者副本离线、未完全同步,或拉取请求指向了不可用的副本。
English
A follower replica for the requested partition is offline, not fully caught up, or the fetch request targets an unavailable replica.
官方文档
https://kafka.apache.org/documentation/#replication解决方案
-
Check the broker logs for the specific partition and bring the offline replica online: # Identify the partition leader kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic my_topic # Restart the broker hosting the unavailable replica or reassign replicas: kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file reassign.json --execute
-
Set the consumer to read from the leader only by setting client-side rack awareness or using a fetch from the leader (default behavior if replica selector is not configured).
无效尝试
常见但无效的做法:
-
95% 失败
Restarting the consumer only retries the fetch, but the replica remains unavailable.
-
85% 失败
Increasing fetch.max.wait.ms only delays the timeout, not the root cause.