Kafka日志留存机制

1、__consumer_offsets-xx/00000000000000000000.log文件

生产者提交到broker中的消息,会保存在本地的logs/__consumer_offsets-xx/00000000000000000000.log文件中

2、实现原理

默认情况这些文件不会永久保留,当超过了保留时间或体积后,kafka会对这些文件进行删除(置空)

1)根据log.retention条件判断,以segment为单位,判断该segment是否为可删除

2)如果满足条件,将其标记为可删除,并且在日志文件cleaner-offset-checkpoint中记录当前清理到的位置

3)由组件LogCleaner实现,将null写入该log文件中来置空文件

3、参数解析

# 日志保留7天

log.retention.hours=168 

# 日志保留1073741824bytes

log.retention.bytes=1073741824

# 日志文件超过1073741824bytes则生成新的日志文件

log.segment.bytes=1073741824

# 检查日志文件的间隔时间,根据文件属性来确定是否达到删除要求,默认5min

log.retention.check.interval.ms=300000

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容