gpt4 book ai didi

apache-kafka - 提交失败异常 : Commit cannot be completed due to group rebalance

转载 作者:行者123 更新时间:2023-12-02 00:44:11 25 4
gpt4 key购买 nike

我正在使用kafka 0.9.0.1代理0.9.0.1消费者客户端。我的消费者实例正在消耗处理时间不到 1 秒的记录。其他主要配置是

enable.auto.commit=false
session.timeout.ms=30000
heartbeat.interval.ms=25000

我在处理后提交偏移量。我遇到了异常

Error UNKNOWN_MEMBER_ID occurred while committing offsets for group kafka_to_s3

ERROR com.bsb.hike.analytics.consumer.Consumer - unable to commit retryCount=2 org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed due to group rebalance

每小时一次或两次。每天消耗约 60 亿个事件。看起来偏移量仅存储在主题“__consumer_offsets”的一个分区中。它还增加了特定代理的负载。

有人知道这些问题吗?

最佳答案

如果 Kafka 在 session 超时内未收到至少一个心跳,则会触发重新平衡。如果触发重新平衡,提交将会失败。这是预期的。那么问题来了,为什么心跳没有发生呢?造成这种情况的原因可能有几个。

  1. 首先,您正在执行手动提交。从 0.9 开始,心跳不会在单独的线程中发生。消费者在处理提交、心跳和轮询的单个线程上运行。因此,当您执行 Consumer.poll() 或 Consumer.commit() 时,就会发生心跳。因此,如果您的处理时间超过 session 超时,则可能会导致心跳失败。

  2. kafka 0.9 Consumer 中存在一个已知问题,可能会导致您遇到问题。

https://issues.apache.org/jira/browse/KAFKA-3627

无论哪种情况,将您的消费者降级到 0.8 都可以解决问题。

编辑:您可以尝试将 session 时间增加到 5 分钟,看看是否有效。

关于kafka配置

Kafka 服务器期望在 session 超时内至少收到一个心跳。因此,消费者最多尝试进行一次心跳( session 超时/心跳次数)。可能会错过一些心跳。所以你的心跳时间不应超过 session 超时的 1/3。 (可以引用文档)

关于apache-kafka - 提交失败异常 : Commit cannot be completed due to group rebalance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39745733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com