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