首页 > 其他分享 >kafka的 groupid 与 auto.offset.reset

kafka的 groupid 与 auto.offset.reset

时间:2022-12-27 07:55:16浏览次数:53  
标签:reset 消费 group auto kafka offset

前言:

通常我们消费kafka数据的时候都会设置两个参数:

Properties props = new Properties();
props.put("group.id", groupId);
props.put("auto.offset.reset", autoOffset);
  • kafka-0.10.1.X版本之前: auto.offset.reset 的值为 smallest 和 largest.(offest保存在zk中)
  • kafka-0.10.1.X版本之后: auto.offset.reset 的值更改为:earliest, latest 和 none (offest保存在kafka的一个特殊的topic名为:__consumer_offsets里面)

参数解读:

auto.offset.reset: 可理解为kafka consumer读取数据的策略,本地用的kafka版本为0.10,因此该参数可填earliest | latest | none。

  • earliest: 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
  • latest: 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
  • none: topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常

应用:

场景一:

Kafka上在实时被灌入数据,但kafka上已经积累了两天的数据,如何从最新的offset开始消费?(最新指相对于当前系统时间最新)

1.将group.id换成新的名字(相当于加入新的消费组)
2.网上文章写还要设置 properties.setProperty("auto.offset.reset", "latest”)
实验发现即使不设置这个,只要group.id是全新的,就会从最新的的offset开始消费

场景二:

kafka在实时在灌入数据,kafka上已经积累了两天的数据,如何从两天前最开始的位置消费?

1.将group.id换成新的名字
2.properties.setProperty("auto.offset.reset", "earliest”)

场景三:

不更改group.id,只是添加了properties.setProperty("auto.offset.reset", "earliest”),consumer会从两天前最开始的位置消费吗?

不会,只要不更改消费组,只会从上次消费结束的地方继续消费

场景四:

不更改group.id,只是添加了properties.setProperty("auto.offset.reset", "latest”),consumer会从距离现在最近的位置消费吗?

不会,只要不更改消费组,只会从上次消费结束的地方继续消费

标签:reset,消费,group,auto,kafka,offset
From: https://www.cnblogs.com/Leo_wl/p/17007293.html

相关文章

  • AUTO-EARN信息收集
     人生最大的遗憾不是你错过最好的人,而是你错过了那个最想对你好的人。。。---- 网易云热评今天给大家介绍一款信息收集工具:AUTO-EARN 一、下载地址​​https://github.c......
  • Pytorch 动态图, Autograd, grad_fn详解
    Pytorch动态图Autogradgrad_fn详解Autogradrequire_grad具有传递性,会将其结果也引入计算图中requires_grad iscontagious.Itmeansthatwhena Tensor iscre......
  • Autoware定位与建图模块(一)——定位
    转载自https://www.jianshu.com/p/38221263c4ee一、概述该包是从autoware中提取出来,能够实现基于激光雷达点云定位功能的最小包。注意:使用该包完成定位功能前,需要先通......
  • AutoFac
    AutoFac的配置使用一.什么是AutoFac第三方IOC容器二.优点它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件较......
  • VMware: share folder automount
     RedHat:    vmhgfs-fuse.host://mnt/hgfs-oallow_other-ouid=1000-ogid=1000-oumask=022chmoda+x/etc/rc.d/rc.local Ubuntu......
  • AutoCAD2023最新版图文安装教程
    由“Autodesk”公司研发推出的AutoCAD202364位简体中文版已于2022年3月已经正式发布,AutoCAD是一款全球领先的计算机辅助设计(CAD)软件,全新的2023版本拥有着非常强大的......
  • 【与达梦同行】【2022.12.20 终版,内置AutoParaAdj3.0_20221220版本,适配复杂密码】达梦
    0.脚本作者Lucifer(pc1107750981@163.com)yuanzijian(yzj@dameng.com)1.达梦一键安装脚本完整版附件内容(附件在本文末尾)1.1.脚本文件夹soft1.DMShellInstall:数据库......
  • 几个例子帮你梳理PyTorch知识点(张量、autograd)
    因为我最近想学Pytorchlightning,重构一下之前的代码,所以回来梳理一下Pytorch的语法,好进行下一步学习,所以从头重新回顾一下Pytorch。这个文章是通过几个简单例子帮大家回顾......
  • Parameter 0 of method errorPageCustomizer in ErrorMvcAutoConfiguration 异常解决
    Parameter0ofmethoderrorPageCustomizerinErrorMvcAutoConfigurationrequiredabeanoftype'xxx.DispatcherServletPath'thatcouldnotbefound异常解决一.异......
  • 关于git的reset指令说明-soft、mixed、hard
    在开发过程中,git的版本管理越来越普及。在版本管理中,最常用和最重要的是重置提交的版本,恢复后悔做了的事。大家都知道用reset命令。但是有几种形态需要整理共享一下,也方......