从以下三种机制来了解kafka中的日志管理策略
1.数据分段策略
通过以下参数控制数据分段策略
属性名 | 说明 | 默认值 |
---|---|---|
log.roll.hours log.roll.ms | 日志滚动的周期时间,达到指定的周期时间后,强制生成一个新的segment | 7天 |
log.segment.bytes | 每个segment的最大容量。达到指定容量时,强制生成一个新的segment | 1GB,-1表示不限制 |
log.retention.check.interval.ms | segment日志文件检查的周期时间 | 1分钟 |
2.数据刷新策略
通过以下参数控制数据刷新策略
属性名 | 说明 | 默认值 |
---|---|---|
log.flush.interval.messages | 消息达到多少条时将数据写入到磁盘中的log文件 | 10000 |
log.flush.interval.ms | 当达到多少时间时,强制执行一次flush | 无 |
log.flush.scheduler.interval.ms | 周期性检查,是否需要将信息flush | long类型最大值 |
3.数据清理策略
通过以下参数控制数据清理策略
属性名 | 说明 | 默认值 |
---|---|---|
log.cleanup.polict | 日志清理保存的策略,可选值有:delete和compact | delete |
log.retention.hours | 日志保存时间,可选择hours,minutes,ms | 168 |
log.retention.bytes | 删除前日志文件允许保存的最大值 | -1 |
log.segment.delete.delay.ms | 日志文件被真正删除前的保留时间 | 60000 |
log.cleanup.interval.mins | 每隔一段时间多久调用一次清理的过程 | 10 |
log.retention.check.interval.ms | 周期性检查是否有日志符合删除的条件 | 300000 |