Kafka消费组继续进入PreparingRebalance状态并停止消费

avs*_*man 10 apache-kafka kafka-consumer-api apache-kafka-streams

我们有一个 Kafka Streams 消费者组,它不断进入 PreparingRebalance 状态并停止消费。模式如下:

  1. 消费组运行稳定20分钟左右

  2. 新的消费者(成员)开始在没有任何明确原因的情况下出现在组状态中,这些新成员仅源自少量VM(每次都不是相同的VM),并且他们不断加入

  3. 组状态更改为 PreparingRebalance

  4. 所有消费者停止消费,显示以下日志:“组协调器......不可用或无效,将尝试重新发现”

  5. 生成额外成员的虚拟机上的使用者显示以下日志:

分区 X 上偏移量 Y 处的偏移量提交失败:协调器不知道此成员。

无法提交流任务 X,因为它已迁移到另一个线程。在触发新的重新平衡之前将其作为僵尸关闭。

检测到任务 Z 已迁移到另一个线程。这意味着该线程错过了重新平衡并退出了消费者组。将尝试重新加入消费组。

  1. 我们杀死所有虚拟机上的所有消费者进程,该组移动到空,成员数为 0,我们启动进程,然后回到步骤 1

Kafka版本是1.1.0,streams版本是2.0.0

我们从行为不当的消费者那里获取了线程转储,并且没有看到比配置更多的消费者线程。

我们尝试重新启动 kafka 代理,清理 Zookeeper 缓存。

我们怀疑该问题与缺少心跳有关,但默认心跳为 3 秒,而消息处理时间远非如此。

有人遇到过类似的行为吗?