Kafka日志清理可通过配置参数实现,需根据业务场景选择策略并合理设置参数,以下是具体方法及要点:
log.cleanup.policy=delete,compact),灵活控制保留规则。| 参数 | 含义 | 默认值 | 推荐设置 | 适用场景 |
|---|---|---|---|---|
log.cleanup.policy |
清理策略类型 | delete |
按需选择(delete/compact/delete,compact) |
所有场景 |
log.retention.ms |
日志保留时间(毫秒) | 604800000(7天) | 根据数据时效性调整(如1天/30天) | 需定期清理历史数据的场景 |
log.retention.bytes |
日志分区最大大小(字节) | -1(无限制) | 如1073741824(1GB),配合log.retention.ms使用 |
控制单个分区大小的场景 |
log.segment.bytes |
日志分段大小 | 1073741824(1GB) | 536870912(500MB) | 调整清理频率,分段越小清理越频繁 |
log.retention.check.interval.ms |
清理检查周期 | 300000(5分钟) | 60000(1分钟) | 需快速响应磁盘空间的场景 |
log.cleaner.min.cleanable.ratio |
压缩触发阈值(0-1) | 0.5 | 0.7 | 控制压缩频率,避免频繁清理 |
7天保留+1GB分区大小(删除策略)
log.cleanup.policy=delete
log.retention.ms=604800000 # 7天
log.retention.bytes=1073741824 # 1GB
log.segment.bytes=536870912 # 500MB
保留最新值+500MB分区(压缩策略)
log.cleanup.policy=compact
log.retention.bytes=536870912 # 500MB
log.cleaner.min.cleanable.ratio=0.7
log.retention.check.interval.ms。__consumer_offsets)建议使用压缩策略,避免频繁删除。log.segment.bytes,减少分段数量,提升清理效率。修改配置后需重启Kafka服务生效,并通过kafka-configs.sh命令验证参数是否正确应用。