当前位置: 首页 > 知识库问答 >
问题:

kafka:获取偏移超出分区范围。如何避免数据丢失?

晋言
2023-03-14
Fetcher INFO : Fetch offset .... is out of range for partition ..., resetting offset 

试图了解发生这种情况时会发生什么。如果我们试图读取的偏移量丢失(我假设是因为kafka GC'ed the offet)和<code>auto.offset。reset=latest我们是否跳过数据到最新偏移量?

避免数据丢失的安全配置是什么?

共有1个答案

牧献
2023-03-14

对我来说,我通过在我的KafkaConsumer配置中添加下面一行来修复它

properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
 类似资料:
  • 我是Storm世界的新手。在我的拓扑中,我使用Kafka的数据,并使用。 通过一些测试,我得到了以下警告消息: 2015-10-01 23:31:51.753 s.k.KafkaUtils[警告]获取了偏移量超出范围的获取请求:[85970]2015-10-01 23:31:51.755 s.k.PartitionManager[警告]使用新偏移量:0 我的\\\\\\\\\\\\\\\\\\\\

  • 我使用动物园管理员从Kafka获取数据。在这里,我总是从最后一个偏移点获取数据。有没有办法指定偏移时间来获取旧数据? 有一个选项“自动偏移”。重置。它接受最小的或最大的。有人能解释一下什么是最小的和最大的吗。可以自动偏移。重置有助于从旧偏移点而不是最新偏移点获取数据?

  • 我创建了以批处理方式接收消息的ConsumerConfig: Spring启动配置: 侦听器类 : 我在处理消息后使用手动确认。 我找到了一些调试日志: 在上面的调试日志中,***获取偏移量发生在偏移量提交之前,该偏移量未提交,因此它返回offset_OUT_OF_RANGE,之后使用者无法接收任何消息。是否有任何方法处理使用者代码中的此错误,或如何仅在提交后获取偏移量****

  • Spout被配置为从zookeeper读取最后的提交偏移量,并且在此场景中,该偏移量大于Kafka中最新的消息偏移量。我们也在研究为什么主题偏移被重置。 目前我们通过观察Storm日志中的范围外警告来解决这个问题,删除zookeeper偏移条目,然后重新部署拓扑。

  • 问题内容: 我正在使用Java 编写使用者。我想保持消息的实时性,因此,如果有太多消息在等待使用,例如1000条或更多,我应该放弃未使用的消息,并从最后一个偏移量开始使用。 对于此问题,我尝试比较主题的最后提交的偏移量和主题的结束偏移量(仅1个分区),如果这两个偏移量之间的差大于某个值,则将主题的最后提交的偏移量设置为下一个偏移量,这样我就可以放弃那些多余的消息。 现在我的问题是如何获得主题的最终

  • 我使用以下方法基于用户选择创建一个范围: 调用此函数的组件执行以下操作: 每当我选择文本时,范围总是相对于高亮显示的跨度结束的位置。因此,如果我的文本在0到50之间,我选择范围[25,26],然后选择范围[26,27],而不是突出显示范围[26,27],它突出显示范围[0,1],因为范围是[0,1]相对于{after}生成的文本。 只要我突出显示{之前}渲染的任何文本,我就没有问题,只有当我突出显