kafka
resource_error
ai_generated
true
磁盘空间不足异常:写入日志段 /var/lib/kafka/data/my_topic-0/00000000000000000000.log 时设备无剩余空间
java.io.IOException: No space left on device while writing to log segment /var/lib/kafka/data/my_topic-0/00000000000000000000.log
ID: kafka/disk-full-log-segment
95%修复率
90%置信度
1证据数
2023-12-01首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| Kafka 3.5.0 | active | — | — | — |
| Kafka 3.6.1 | active | — | — | — |
根因分析
Kafka代理的数据目录磁盘空间已满,阻止日志段写入并导致代理变得不健康。
English
Kafka broker's data directory has run out of disk space, preventing log segment writes and causing broker to become unhealthy.
官方文档
https://kafka.apache.org/documentation/#disk_space解决方案
-
Run `df -h /var/lib/kafka/data` to confirm disk usage, then add more disk space or move data to a larger partition. Use `log.dirs=/data/kafka` in server.properties to point to a new location.
-
Trigger log compaction or deletion by reducing `log.retention.hours=24` or `log.retention.bytes=10737418240` (10GB) and restart broker gracefully.
-
Example: `kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name my_topic --alter --add-config retention.ms=86400000` to reduce retention to 24 hours.
无效尝试
常见但无效的做法:
-
95% 失败
Kafka manages segments internally; manual deletion breaks consistency.
-
60% 失败
It may trigger aggressive cleanup but does not free space immediately if cleanup policy is not triggered.