Kafka 日志消息保存时间总结

Kafka 作为一个高吞吐的消息中间件和传统的消息中间件一个很大的不同点就在于它的日志实际上是以日志的方式默认保存在/kafka-logs文件夹中的。虽然默认有7天清楚的机制,但是在数据量大,而磁盘容量不足的情况下,经常出现无法写入的情况。如何调整Kafka的一些默认参数就显得比较关键了。这里笔者整理了一些常见的配置参数供大家参考:

分段策略属性
属性名 | 含义 |默认值
---|---|--
log.roll.{hours,ms} | 日志滚动的周期时间,到达指定周期时间时,强制生成一个新的segment |168(7day)
log.segment.bytes| 每个segment的最大容量。到达指定容量时,将强制生成一个新的segment | 1G(-1为不限制)
|log.retention.check.interval.ms |日志片段文件检查的周期时间|60000

日志刷新策略

Kafka的日志实际上是开始是在缓存中的,然后根据策略定期一批一批写入到日志文件中去,以提高吞吐率。

属性名 含义 默认值
log.flush.interval.messages 消息达到多少条时将数据写入到日志文件 10000
log.flush.interval.ms 当达到该时间时,强制执行一次flush null
log.flush.scheduler.interval.ms 周期性检查,是否需要将信息flush 很大的值

日志保存清理策略

属性名 含义 默认值
log.cleanup.polict 日志清理保存的策略只有delete和compact两种 delete
log.retention.hours 日志保存的时间,可以选择hours,minutes和ms 168(7day)
log.retention.bytes 删除前日志文件允许保存的最大值 -1
log.segment.delete.delay.ms 日志文件被真正删除前的保留时间 60000
log.cleanup.interval.mins 每隔一段时间多久调用一次清理的步骤 10
log.retention.check.interval.ms 周期性检查是否有日志符合删除的条件(新版本使用) 300000

这里特别说明一下,日志的真正清楚时间。当删除的条件满足以后,日志将被“删除”,但是这里的删除其实只是将该日志进行了“delete”标注,文件只是无法被索引到了而已。但是文件本身,仍然是存在的,只有当过了log.segment.delete.delay.ms 这个时间以后,文件才会被真正的从文件系统中删除。

参考文档:
https://kafka.apache.org/documentation/#design

转载于:https://www.cnblogs.com/angellst/p/9368493.html

Kafka 日志消息保存时间相关推荐

  1. Kafka配置消息保存时间的方法

    为什么80%的码农都做不了架构师?>>>    配置参考 然后不废话,直接贴最终的关键配置: # 想实现消息队列中保存2小时的消息,那么配置应该像这样: log.roll.hours ...

  2. mysql binlog 设置日志大小 保存时间

    目录 binlog 设置日志大小 保存时间 常用命令 binlog 设置日志大小 保存时间 mysql开启了二进制日志binlog,如mysql-bin.000005等,重启服务后会自动更新这个文件, ...

  3. linux设置日志文件保存时间方法

    在Linux中,通常使用日志轮转(Log rotation)来控制日志文件的保留和管理.日志轮转允许您在生成新日志文件时将旧日志文件归档或删除.可以使用logrotate 工具来配置和管理日志轮转. ...

  4. kafka消息过期时间设置(全局和特定topic)

    文章目录 一.kafka 全局消息过期时间设置 1. 配置文件夹 2. 修改配置 3. 重启配置生效 二.针对特定topic设置过期时间 2.1. 配置文件夹 2.2. 执行设置命令 三.kafka过 ...

  5. 配置Kafka消息保留时间

    生产者发送消息给kafka,消息被追加值日志文件并保留一定周期(基于配置).本文探讨对Kafk主题配置消息保留时间. 基于时间保留 通过保留期属性,消息就有了TTL(time to live 生存时间 ...

  6. Kafka 不停机修改某一个topic数据保存时间

    查看topic信息 ./kafka-topics.sh --describe --zookeeper zk:2181 --topic topicName25/03/08 16:05:29 INFO z ...

  7. 05-kafka日志保存时间

    题目:kafka日志保存时间 答案: kafka默认保存7天:生产环境建议3天

  8. oracle日志保存时间设置,关于日志设置的详细介绍

    这篇文章主要介绍了MySQL日志设置及查看方法,需要的朋友可以参考下MySQL有以下几种日志:错误日志: -log-err查询日志: -log慢查询日志: -log-slow-queries更新日志: ...

  9. ElasticSearch设置日志保存时间-自动删除

    ElasticSearch提供索引生命周期管理(6.6版本开始),参考地址: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/_ ...

  10. Centos 7.3 日志服务修改保存时间

    由于有安全方面的需求,要求可追溯系统操作记录,因此想让系统日志保存6个月. 开始以为是 syslogd.service 服务,但是发现系统里没有这项服务,因此网上冲浪了一下,发现在 centos 7. ...

最新文章

  1. 数字万用表测量二极管、三极管
  2. Java NIO原理 图文分析及代码实现
  3. fiddler设置中文版本_教你下载iOS老版本应用
  4. atitit.Oracle 9 10 11 12新特性attilax总结
  5. 爆料图显示iPhone 14 Pro及Max机身更厚 摄像头凸起也更多
  6. 机器学习-吴恩达-笔记-2-逻辑回归
  7. 河南省谷歌高清卫星地图下载
  8. VS2015各版本的区别
  9. Pthread多线程
  10. 学习C语言未来的发展方向
  11. easyui datagrid 多一列
  12. 苹果7p大音频脚位图_苹果7P无声音与杂音维修案例
  13. Trie树【p2264】情书
  14. 简述观察法的优缺点_各种观察法的优缺点
  15. 第二届ACC(AcWing Cup)全国联赛
  16. 微软电脑管家V2.1公测版正式发布
  17. TSLAM室内定位系统详述(转载)
  18. 浅析SATA Physical Layer物理层OOB信号
  19. RxJava VS kotlin flow
  20. linux 显卡驱动 在哪里,linux下如何看我的显卡驱动是否装好了

热门文章

  1. 今天解决了价位没有同步更新的问题
  2. linux服务器架设——rsync
  3. php qr生成二维码
  4. lazarus中截取整个屏幕画面并保存为指定文件
  5. DELPHI学习---简单类型
  6. Python_Tika
  7. 5.1 API : SVC
  8. key没有引号的字符串如何转json变为字典格式
  9. 吴恩达深度学习——浅层神经网络
  10. 初试Spring Boot:构建第一个Web程序