日志清除策略

基于时间的删除策略
server.properity文件中设置如下:

log.retention.hours=168 //7d
log.retention.check.interval.ms=300000 //5min
log.segment.bytes=1073741824 //1G
log.cleaner.delete.retention.ms=86400000 // 1d
log.cleaner.backoff.ms=15000 //15s

每个segment的大小为1GB,每5分钟检查一次是否有segment已经查过了7d,如果有将其标记为deleted。标记为deletedsegment默认会保留1天,清理线程会每隔15秒检查一次,是否有标记为deleted的segment的保留时间超过一天了,如果有将其从文件系统删除。

大家注意,kafka清理时是不管该segment中的消息是否被消费过,它清理的依据为是否超过了指定的保留时间,仅此而已。

基于大小的删除策略

 log.retention.bytes参数默认没有指定。

混合策略

同时指定 log.retention.byteslog.retention.hours=168 ,那么哪个先达到就以哪个为准.

日志压缩策略

Kafka 还提供了日志压缩(Log Compaction)功能,通过这个功能可以有效的减少日志文件的大小,缓解磁盘紧张的情况,在很多实际场景中,消息的 key 和 value 的值之间的对应关系是不断变化的,就像数据库中的数据会不断被修改一样,消费者只关心 key 对应的最新的 value。因此,我们可以开启 kafka 的日志压缩功能,服务端会在后台启动启动Cleaner 线程池,定期将相同的 key 进行合并,只保留最新的 value 值。

注意

Kafka 日志到达清除时间后,并不会真正清除,只是标记为deleted, 真正删除还有一个延时,这个时间通过log.cleaner.delete.retention.ms参数进行设置

参考

Kafka — 全面解析Kafka以及消息传输流程(一)_Haqiu.Hwang的博客-CSDN博客

Kafka日志清除策略相关推荐

  1. kafka日志清理策略,compact和delete

    文章目录 1. kafka日志清理策略概述 2. kafka segment 2.1 segmnet 的作用 2.2 segment生成相关的配置 3. 日志清理delete策略 3.1 delete ...

  2. Kafka日志刷新策略

    Kafka的日志实际上是开始是在缓存中的,然后根据策略定期一批一批写入到日志文件中去,以提高吞吐率. 属性名 含义 默认值 log.flush.interval.messages 消息达到多少条时将数 ...

  3. 清理offset_关于 kafka 日志清理策略的问题

    现象: 搭建了一个 kafka 服务, 使用 kafka-python 包正常生产数据, 但是 kafka 过五分钟就把我的 topic 删除掉. 但是配置 log 的已经配置了, 我认为 kafka ...

  4. kafka的文件清除策略

    一 清除策略 Kafka 中 默认的日志保存时间为 7 天 ,可以通过调整如下参数修改保存时间.配置文件在kafka的config/server.properties文件中: log.retentio ...

  5. Kafka日志清理之Log Compaction

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  6. kafka 日志相关配置

    日志目录 ${kafka.logs.dir}/server.log :服务器日志 ${kafka.logs.dir}/state-change.log:状态变化日志 ${kafka.logs.dir} ...

  7. ELK+kafka日志系统搭建-实战

    日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠 ...

  8. Kafka日志清理之Log Deletion

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  9. kafka历史数据清理策略以及配置

    1.关于Kafka的日志 日志的英语是"log",但Kafka的数据文件也被称为log,所以很多时候会造成一定的歧义.在Kafka中,日志分为两种: 数据日志 操作日志 数据日志是 ...

最新文章

  1. h5 移动端 关于监测切换程序到后台或息屏事件和visibilitychange的使用
  2. Ubuntu Server 14.04 下root无法ssh登陆
  3. ASP 0104:80004005 问题解决方法
  4. 如何在JavaScript中获取时间戳
  5. Citrix虚拟化技术之一XenServer6.2安装
  6. An Energy-Efficient Ant-Based Routing Algorithm for Wireless Sensor Networks (无线传感网中基于蚁群算法的能量有效路由)2
  7. python面试题之如何用Python输出一个斐波那契数列
  8. 甲醛|甲醛介绍|甲醛如何清理
  9. python模块学习---glob 文件路径查找
  10. HDOJ1003 MaxSum【逆推】
  11. 3D打印设计软件 FreeCAD 入门
  12. google chrome的图标成一页纸了_10 款 Chrome 扩展,让你的浏览器好用到飞起
  13. 黑莓装Linux系统,“黑莓的Linux桌面管理器”──Barry的使用
  14. 计算机学院考勤管理办法,学生考勤管理规定
  15. html5图片和两行文字垂直居中显示,何如让文字跟图片垂直居中对齐
  16. idea配置查看代码汇编指令插件
  17. 关于如何打破传统阅读体验的一些想法
  18. 离线安装金蝶Apusic中间件
  19. pyside2 系列之介绍,安装,简单例子
  20. 我的世界java手机版怎么调按键_《我的世界》按键设置 pc版快捷按键代码大全...

热门文章

  1. 图相处理自学(二):图像处理基本算法Black level / sensor offset/ Shading/ Color Matrix/ AWB(QP值)
  2. html实体编码_为什么涨薪的永远不是你?你的编码姿势对了吗?
  3. springmvc07 Json处理
  4. php语句创建数据表,用mysql语句创建数据表详细教程
  5. vue框架安装mock
  6. 二层交换机 不在同一子网_IP地址、子网掩码、网关之间有什么联系呢?各自用途有什么?...
  7. ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)
  8. java三色球问题_2020100期专业玩彩双色球走势分析
  9. java 线程释放_如何手动释放一个java线程占用的资源
  10. idea 部署 web tomcat