Java教程

日志删除

本文主要是介绍日志删除,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

日志删除是以段(segment日志)为单位来进行定期清理的。

Kafka日志管理器中会有一个专门的日志删除任务来定期检测和删除不符合保留条件的日志分段文件,这个周期可以通过broker端参数log.retention.check.interval.ms来配置,默认是300,000,即5分钟。当前日志分段的保留策略有3种:

(1)基于时间的保留策略

三种配置可以指定如果kafka中的消息超过指定的阈值,就会将日志自动清理:

  • Log.rentention.hours
  • Log.retention.minutes
  • Log.retention.ms

(2)基于日志大小的保留策略

日志删除任务会检查当前日志的大小是否超过设定的阈值来寻找可删除的日志分段的文件集合。可以通过broker端惨log.retention.bytes来配置,默认值是-1,表示无穷大。如超过该大小,会自动将超出部分删除。

(3)基于日志起始偏移量的保留策略

一般情况下日志文件的起始偏移量logStartOffset等于第一个日志分段的baseOffset,但是这并不是绝对的,logStartOffset的值可以通过DeleteRecordsRequest请求、日志的清理和截断等操作修改。

基于日志起始偏移量的删除策略的判断依据是某日志分段的下一个日志分段的起始偏移量baseOffset是否小于等于logStartOffset,若是则可以删除此日志分段。

这篇关于日志删除的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!