首页/数据/数据工程与 ETL 速查/消息保留策略与日志清理
本包目录(311 条)
管道基础52 条
Kafka64 条
调度与编排40 条数仓建模52 条数据质量50 条CDC 与同步53 条

消息保留策略与日志清理

Kafka 按时间或大小保留消息,过期以日志段(segment)为单位删除:retention.ms 控制时间、retention.bytes 控制容量,检查周期决定删除的及时性。

默认log.retention.hours=168(7 天)
粒度先滚动出新段,再按段删除,过期不会立即释放空间
相关log.segment.bytes(默认 1GB)、log.retention.check.interval.ms(默认 5 分钟)

调整主题保留

调整主题保留
kafka-configs.sh --bootstrap-server localhost:9092 \
  --entity-type topics --entity-name orders \
  --alter --add-config 'retention.ms=259200000,retention.bytes=10737418240'
缩短保留期不会立刻回收磁盘:要等段满足条件并经过检查周期后才会删除。

易错点

  • 活动段(当前写入段)不会被删除,即使超过保留时间
  • 磁盘告急时只调 retention 见效慢,需要配合段大小与检查周期一起评估

数据来源与参考

  • Apache Kafka 官方文档:Log Retention 与 Topic Configs
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌