【问题标题】:kafka: Commit offsets failed with retriable exception. You should retry committing offsetskafka:提交偏移失败,出现可重试异常。您应该重试提交偏移量
【发布时间】:2018-03-30 16:43:57
【问题描述】:

[o.a.k.c.c.i.ConsumerCoordinator] [组的自动偏移提交失败 消费者组:提交偏移量失败,可重试 例外。您应该重试提交偏移量。] []

为什么kafka消费者会出现这个错误?这是什么意思?

我使用的消费者属性是:

fetch.min.bytes:1
enable.auto.commit:true
auto.offset.reset:latest
auto.commit.interval.ms:5000
request.timeout.ms:300000
session.timeout.ms:20000
max.poll.interval.ms:600000
max.poll.records:500
max.partition.fetch.bytes:10485760

出现该错误的原因是什么?由于这个错误,我猜消费者现在正在做重复的工作(再次轮询相同的消息)。

我既没有使用consumer.commitAsync() 也没有使用consumer.commitSync()

【问题讨论】:

  • 您好,您解决了这个问题吗?很高兴知道怎么做。
  • 嘿@ViacheslavShalamov,我确定这是一个迟到的回复。我无法解决这个问题。我不得不重新启动经纪人!仍然希望能够在它再次出现时找到原因:p
  • enable.auto.commit:true 在后台调用 commitAsync,这就是您收到此错误的原因
  • 当然。但这不是enable.auto.commit:true 的重点吗?如果 SDK 正在管理提交,那么为什么开发人员必须面对Commit offsets failed with retriable exception. You should retry committing offsets?我希望使用自动提交我们不应该担心偏移管理。

标签: java apache-kafka


【解决方案1】:

如果消费者捕获到RetriableException 的实例,则会给出此错误。

原因可能多种多样:

  • 如果协调器仍在加载组元数据
  • 如果尚未创建组元数据主题
  • 如果发生网络或磁盘损坏,或者在处理请求时发生其他磁盘相关或网络相关的 IOException
  • 如果服务器在请求完成之前断开连接
  • 如果客户端的元数据已过期
  • 如果给定分区当前没有可用的领导者
  • 如果没有代理可以完成请求

从上面的列表中可以看出,所有这些错误可能都是暂时的问题,这就是为什么建议重试请求的原因。

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 2019-07-05
    • 2017-08-22
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    相关资源
    最近更新 更多