Kafka日志清理在 Linux 的设置指南
一 核心原则与目录区分
二 数据日志的推荐做法(Broker 配置)
log.cleanup.policy=delete
log.retention.ms=604800000 # 7 天
log.retention.bytes=1073741824 # 1GB
log.segment.bytes=1073741824 # 1GB
log.retention.check.interval.ms=300000
log.cleanup.policy=compact
log.cleaner.enable=true
log.cleaner.threads=2
log.cleaner.min.cleanable.ratio=0.3
log.cleaner.delete.retention.ms=86400000
log.cleaner.min.compaction.lag.ms=3600000
bin/kafka-topics.sh --alter --topic your-topic --config cleanup.policy=compact
bin/kafka-topics.sh --alter --topic your-topic --config retention.ms=172800000
三 操作日志的 Linux 侧清理(server.log 等)
/opt/kafka/logs/*.log {
daily
rotate 7
missingok
compress
delaycompress
copytruncate
notifempty
create 0644 kafka kafka
}
logrotate -d /etc/logrotate.d/kafka # 语法检查
logrotate -f /etc/logrotate.d/kafka # 强制执行一次
#!/bin/bash
find /opt/kafka/logs -mtime +7 -name "*.log.*" -exec rm -f {} \;
30 0 * * * /bin/bash /opt/kafka/bin/clear-kafka-log.sh
四 常见问题与排查