java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Kafka日志清理

Kafka日志清理实现详细过程讲解

作者:shysh

这篇文章主要为大家介绍了Kafka日志清理实现详细过程讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Kafka日志清理目前主要有两种策略:

Kafka提供log.cleanup.policy参数进行相应配置,默认值:delete,还可以选择compact。

日志删除

配置默认值说明
log.retention.check.interval.ms300000 (5分钟)检测频率
log.retention.hours168 (7天)日志保留时间小时
log.retention.minutes日志保留时间分钟
log.retention.ms日志保留时间毫秒
file.delete.delay.ms60000 (1分钟)延迟执行删除时间
log.retention.bytes-1 无穷大运行保留日志文件最大值
log.retention.bytes1073741824 (1G)日志文件最大值

Kafka会根据检测频率周期性的检测日志是否需要删除,日志删除策略主要有以下集中:

基于时间删除

Kafka会查找日志段的时间戳索引文件中的最后一条记录,如果最后一条timestamp小于0,则取最近修改时间。

当确认完需要删除的日志段以后,需要进行以下删除操作:

假如当前日志段中也有需要删除的数据,那么kafka会先进行分段,创建一个新的活跃日志段,然后执行删除操作。

基于大小删除

基于日志文件起始偏移量

日志文件起始偏移量默认等于第一个日志段的基准偏移量,但随着数据的删除操作,该值也在不断变化。

基于日志文件起始偏移量的判断规则是,如果一个日志段的下一个日志段的起始偏移量如果小于日志文件起始偏移量,那么该日志段就可以被加入到删除队列,最后执行删除。

以上就是Kafka日志清理实现详细过程讲解的详细内容,更多关于Kafka日志清理的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文