首页 > 其他分享 >Kafka 日志保留策略(Log Retention Policy)

Kafka 日志保留策略(Log Retention Policy)

时间:2022-12-07 15:57:04浏览次数:62  
标签:Log log 保留 Kafka hours Policy 日志 kafka retention

Kafka 日志保留策略(Log Retention Policy)

前言

一两周前测试kafka,创建了topic: data-time,发布了一部分数据,测试kafka的发布和订阅均正常。

一两周后,也就是现在,再次取订阅topic: data-time。发现无法订阅了,准备的说是 :订阅失效了。

为了弄清楚前因后果,记录一下...

一、kafka配置文档(server.properties)

摘选 server.properties 的日志保留策略内容

############################# Log Retention Policy #############################

# The following configurations control the disposal of log segments. The policy can
# be set to delete segments after a period of time, or after a given size has accumulated.
# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens
# from the end of the log.

# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

# A size-based retention policy for logs. Segments are pruned from the log unless the remaining
# segments drop below log.retention.bytes. Functions independently of log.retention.hours.
#log.retention.bytes=1073741824

# The maximum size of a log segment file. When this size is reached a new log segment will be created.
log.segment.bytes=1073741824

# The interval at which log segments are checked to see if they can be deleted according
# to the retention policies
log.retention.check.interval.ms=300000

按照注释内容理解:kafka的日志保留策略分成两部分,其一是时间角度,其二是空间角度。这两种策略是互相独立的,互不影响的,可以同时存在。

二、时间角度

log.retention.hours=168

kafka默认日志文件保留时长是 168 hours (即7 days),当日志文件从创建时间开始,一旦超过设置的日志保留时长,日志文件可能会被删除

个人理解:kafka后台线程会每隔一段时间(默认5 mins)去检查一下日志文件是否可以删除,当满足删除条件(时长)时,就可以将日志文件删除。

时间参数:

1️⃣ log.retention.hours

2️⃣ log.retention.minutes

3️⃣ log.retention.ms

当log.retention.ms=-1,则日志保留时长是没有限制的(即永久保留)

时间参数优先级:log.retention.ms > log.retention.minutes > log.retention.hours

三、空间角度

log.retention.bytes=1073741824
注意:在kafka配置文档中,这个配置条件是被注释的。

kafka默认日志文件保留大小是 1073741824 bytes (即1 Gb),当日志文件从创建开始,一旦超过设置的日志保留大小,日志文件可能会被删除

个人理解:kafka后台线程会每隔一段时间(默认5 mins)去检查一下日志文件是否可以删除,当满足删除条件(大小)时,就可以将日志文件删除。

四、参考

01-Kafka消息保留机制 log.retention

标签:Log,log,保留,Kafka,hours,Policy,日志,kafka,retention
From: https://www.cnblogs.com/caojun97/p/16955134.html

相关文章

  • kafka基础原理
    kafka基础原理1.topicKafka学习了数据库里面的设计,在里面设计了Topic(主题),这个东西类似于关系型数据库的表: 此时我需要获取CM的数据,那就直接监听TopicA即可。......
  • Python 日志记录-loguru
    Python日志记录-loguru使用logging模块时用python写代码时,logging模块最基本的几行配置,如下:importlogginglogging.basicConfig(level=logging.INFO,format='%(ascti......
  • 实时数仓原来如此:Kafka+Flink+Hudi
    原来使用kafka消费者直接进行mysql数据同步,现在发现当时只考虑了数据的同步,对于后续数据的存储和使用没有考虑全面。面对大量流式数据,面向的是应用,数据同步之后,数据如何存......
  • java 引入logging日志
    1、yml添加 #日志配置logging:level:#自己的包名com.wrblog:debugorg.springframework:warn 2、在resources下创建logback.xml文件并更改自己的......
  • SLS-Logtail部署
    1.在Linux宿主机上直接部署官方安装示例:https://help.aliyun.com/document_detail/28982.html#section-v94-r79-ru6自建机器安装logtail在上述官网中找到自己的SLS-Pr......
  • SQL SERVER提示pre-login handshake failed错误的一种解决方法。
      昨天在客户那里,遇到一个奇怪的问题。程序直接运行的时候,可以正常连接SQLSERVER;但是使用WebService连接SQLSERVER的时候,出现了下面的错误信息:  ConnectionT......
  • 高通平台snoop log抓取和蓝牙版本读取
    A.snooplog获取:1.Turnoffbluetooth2.adbshellsetproppersist.bluetooth.btsnoopenabletrue3.adbshellsetproppersist.bluetooth.btsnooplogmodefull(Android......
  • BLOG-3
    一、前言1、pta题目集6总结本次题目集主要是根据类图,写电信计费的座机计费,难度并不是特别大,但是因为是电信计费的基础,为了后续方便需要对本次作业有较深的了解,要......
  • 解决Webstorm Nodejs console.log("这是中文") 控制台乱码
    设置文件编码自定义vm选项文件添加文件最后一行添加-Dfile.encoding=UTF-83.修改注册表Windows+R-->regedit-->计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsof......
  • Centos7 Kafka初次安装部署
    Centos7Kafka初次安装部署环境:虚拟机,centos7系统。步骤:一、安装JDK1.8以上版本​此处略过二、zookeeper环境搭建1、下载Zookeeper并解压到制定的目录(或者提......