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

其他格式: JSON · Markdown 中文 · English
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.

generic

官方文档

https://kafka.apache.org/documentation/#disk_space

解决方案

  1. 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.
  2. Trigger log compaction or deletion by reducing `log.retention.hours=24` or `log.retention.bytes=10737418240` (10GB) and restart broker gracefully.
  3. 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.

无效尝试

常见但无效的做法:

  1. 95% 失败

    Kafka manages segments internally; manual deletion breaks consistency.

  2. 60% 失败

    It may trigger aggressive cleanup but does not free space immediately if cleanup policy is not triggered.