首页 > 其他分享 >Kafka系列---【数据过期造成的假象,consumer不消费】

Kafka系列---【数据过期造成的假象,consumer不消费】

时间:2024-09-23 15:02:26浏览次数:9  
标签:log -- kafka --- ms Kafka consumer retention

一、问题背景

周五的时候,推送了500万笔消息到kafka的TOPIC_TEST队列,使用EVENT_GROUP消费者组去消费,周一的时候,使用kafka-consumer命令查看消费者组的时候,发现,topic的6个分区都有大量的消息堆积,我把消费者应用重启了一下,发现剩余消息lag数还是不变,给人的感觉是不消费了,查看应用日志,确实没有打印自己写的日志。经过排查之后发现,换个groupId,lag数直接变成了0,也没有数据消费。由此检查了一下kafka默认的数据过期时间配置,位于`kafka/config/kafka.properties`文件中的`log.retention.ms`,果然,值配置的为86400000ms(24小时)。

二、问题分析

经上面的排查可以看出,是因为数据量过大,但消费速度慢,24小时内,数据没有消费完,但是kafka设置了24小时数据保留时间,导致数据被kafka清除掉了,因此没有更新lag,而我们看到lag值一直不变,就是这个导致的。

三、解决方案

## 3.1方案一:修改log.retention.ms值为默认值7天
## 3.2方案二:增加topic的分区,同时增加消费者的线程数(spring.kafka.cluster1.listener.concurrency)或实例数
      注意:默认一个实例是一个消费者线程,例:如果把concurrency设置成了3,分区数有6个,最多设置两个节点,再多也没有用了。最好是启动6个实例。

四、拓展知识

log.retention.ms 是 Apache Kafka 中的一个配置参数,用于控制 Kafka 日志的保留时间。具体来说,这个参数定义了一个主题的日志消息在被删除之前可以保留的最大时间,单位是毫秒。

详细说明

  • 用途: log.retention.ms 设置了 Kafka 中消息的保留时间,超过这个时间的消息会被自动删除。这个配置是用来管理存储的大小,以确保不占用过多的磁盘空间。

  • 默认值: 默认情况下,log.retention.ms 的值通常是 604800000(即 7 天)。

  • 配置范围: 可以针对特定主题进行设置,也可以在 broker 级别进行全局设置。如果在主题级别上配置了 log.retention.ms,则该主题的配置将覆盖 broker 级别的配置。

  • 使用示例: 当创建主题时,可以通过 --config 参数设置 log.retention.ms,例如:

    kafka-topics --create --topic your_topic_name --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 --config retention.ms=86400000
    

    上述命令将日志保留时间设置为 1 天(86400000 毫秒)。

  • 注意事项:

    • 如果设置为 -1,则表示无限期保留消息,直到磁盘空间不足为止。
    • 如果设置为 0,则表示立即删除所有消息。
    • 需要根据数据的实际使用情况和存储条件合理设置这个值,以避免不必要的数据丢失或存储浪费。

总结

log.retention.ms 是 Kafka 中非常重要的一个配置参数,它直接影响到主题中的数据存储和清理策略。合理配置此项可以帮助你管理存储资源,确保系统性能。

标签:log,--,kafka,---,ms,Kafka,consumer,retention
From: https://www.cnblogs.com/hujunwei/p/18427074

相关文章

  • 苍穹外卖学习日志 -----20天项目从零到完结-----含软件下载,环境配置,框架学习,代码编写,
    年份2024    基础:Javase  Javaweb已完结   2024  8.25---9.14  20天Day-01   8.25今天开始学习已经晚了,网盘下载了一下文件,做了一些开始项目的准备工作。本来其实打算用notepad++来写学习日志的,但是那个传不了图片,而且编辑视图没有这......
  • SQLSyntaxErrorException: Unknown database ‘server‘ ---数据库相关报错解决方案
    java.sql.SQLSyntaxErrorException:Unknowndatabase'server'这个错误通常表示你尝试连接的数据库名称(在这个例子中是server)在你的数据库服务器上不存在。这可能是由于以下几种原因之一:数据库名称拼写错误:检查你在连接字符串中指定的数据库名称是否正确,确保没有拼写错......
  • LeCun谢赛宁首发全新视觉多模态模型,等效1000张A100干翻GPT-4V,AI视频长度扩展调优技术:E
    LeCun谢赛宁首发全新视觉多模态模型,等效1000张A100干翻GPT-4V,AI视频长度扩展调优技术:ExVideo帮你轻松生成更长、更优质的视频,EVTexture:提升视频分辨率的新方法!利用AI将模糊视频变清晰!近日,LeCun和谢赛宁等大佬,共同提出了这一种全新的SOTAMLLM——Cambrian-1。开创了以视觉为中心的......
  • 基于django+vue基于O2O模式的外卖订餐系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已渗透到人们生活的方方面面,其中外卖订餐系统作为“互联网+餐饮”的典型代表,近年来在全球范围内迅速崛......
  • 基于django+vue基于MVVM架构家政服务平台【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会经济的快速发展与生活节奏的加快,现代家庭对于家政服务的需求日益增长,从日常清洁、照料老人儿童到专业护理、家居维修等,家政服务已......
  • 基于django+vue基于MVC框架的新闻发布系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,信息传播的速度与广度达到了前所未有的高度。新闻作为社会信息的重要载体,其发布与传播的效率和准确性直接关系到......
  • 基于django+vue基于MVC的社区党建信息系统的设计与实现【开题报告+程序+论文】-计算机
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和党建工作的不断深入,传统的社区党建管理模式已难以满足新时代下党员管理、组织生活及信息传递的高效性需求。社区......
  • 开发者的角色--chatgpt
    以下是一些具体开发者角色的扩展和补充,包含他们的职责和使用场景:1.前端开发者(FE)职责:设计和实现用户界面(UI)。使用HTML、CSS、JavaScript等技术。确保网站在各种设备上的响应式设计。使用场景:开发单页应用(SPA)。创建用户友好的交互体验。2.后端开发者(BE)职责:......
  • PARTIII-Oracle事务管理-事务
    10.事务10.1.事务简介10.1.1.示例事务:账户借记和贷记10.1.2.事务的结构10.1.3.语句级原子性10.1.4.系统变更号(SCNs)10.2.事务控制概述10.2.1.事务名称10.2.2.活跃事务10.2.3.保存点10.2.4.事务回滚10.2.5.事务提交10.3.自治事务10.4.分布式事务10.4.1.......
  • 解读/proc/interrupts中的IR-IO-APIC和fasteoi
    IR-IO-APIC 和 FastEOI 都与中断管理相关,但它们在中断处理流程中的角色和功能有所不同。以下是对这两者的详细解释及其关系:1.IR-IO-APIC(输入/输出高级可编程中断控制器)定义与功能:IO-APIC 是一种用于管理和路由来自各种I/O设备(如键盘、鼠标、网络接口卡、磁盘控制器等)的......