ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【HBZ分享】Kafka中日志清理策略

2022-01-09 11:58:39  阅读:168  来源: 互联网

标签:log 删除 Kafka HBZ 日志 segment 500M


Kafka检测是否存在删除日志

Kafka日志存储流程和LOG日志解析 + LEO + HW 讲解【点击这里】.
Consumer消费者机制 与 分区策略讲解【点击这里】.
Kafka数据文件存储-可靠性保证ACK-ISR核心【点击这里】.

  • Kafka如何检测要删除的日志
    (1). kafka内部会定时检测是否又日志要删除,默认是5分钟,即log.retention,check.interval.ms
    (2). 支持配置策略对数据清理
    (3). 根据segment单位进行定期清理,注意每次都会删除完整的segment,不会删除某个.log的一部分

启动Kafka删除策略 及 原理

  • 启动cleaner
    (1). log.cleaner.enable = true
    (2). log.cleaner.threads = 2(清理线程数配置)

  • 日志删除
    (1). log.cleanup.polic = delete

    # 清理超过指定时间的消息,默认168小时,7天
    # 还有 log.retention.ms, log.retention.minutes, log.retention.hours, 优先级高到低
    log.retention.hours=168
    
    # 超过指定大小后,删除就得消息,下面是1G的字节数,-1表示不限制
    log.retention.bytes=1073741824
    
  • 分别解析【基于时间】与【基于大小阈值】两种删除策略
    (1). 基于【时间删除】日志说明:
    设定删除7天前的数据:每个segment都会维护一个【最新更新时间】的时间戳,即每次向segment写入数据都会记录写入时的时间戳,当一个segment被写满时,会创建一个新的segment继续写。那么被写满的segment就不会再被写入,那么最大时间戳这个字段就不会更新,kafka每5分钟会检查一次是否存在要删除的segment,当这个写满的segment最大时间戳 和 当前时间戳差值达到7天,则该segment会被整个删除掉

    (2). 基于【大小阈值删除】日志说明
    设定partition只保留1500M的日志,每个segment最多存500M: 当日志量达到1510M时,即有4个segment,分别是500M, 500M ,500M,10M。 此时1510M > 1500M, 按理说应该从最旧的segment删除10M,但上面提及过,Kafka每次只会删除完整的segment,而一个segment是500M,所以当日志总量1510M时kafka并不会删除日志。当总日志量到达2010M时,2010-1500 = 510M, 即 要删除510M的数据,所以kafka会把最旧的segment给删除掉,由于第二旧segment也是500M > 10M,所以不会被删除,结果就是真实删除日志大小就500M,那10M不会被删除

如果【基于时间】和【基于阈值】同时存在, 只要二者有一个满足,就会触发日志清理机制

  • 日志压缩法
    该方法也是清理日志节省空间的一个方法。即 只会保留最新数据。意思就是当日志中存在3个相同key的消息,Kafka只会保留最新的那个key,剩余两个会被删除掉,以此来节省空间。一般不用,正常只会用【基于时间】或者【基于阈值大小】来进行删除

标签:log,删除,Kafka,HBZ,日志,segment,500M
来源: https://blog.csdn.net/a645293829/article/details/122391478

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有