即使没有消费者,消费者群体仍处于“再平衡”状态

时间:2020-04-30 14:48:37

标签: apache-kafka apache-kafka-streams

我正在使用kafka版本2.4.1(最近从2.2.0升级到2.4.1),并注意到一个奇怪的问题。

即使应用程序(kafka流)已关闭(没有正在运行的应用程序),但消费者组命令仍将状态返回为重新平衡。我们的应用程序作为kubernetes pod运行。

root@bastion-0:# ./kafka-consumer-groups --describe --group groupname --bootstrap-server kafka-0.local:9094 

Warning: Consumer group 'groupname' is rebalancing.

我已经等待了一段时间(30分钟),即使应用程序已关闭,该命令仍然报告“重新平衡”。

即使我尝试删除该组,它也会显示以下消息。

root@bastion-0:/app/kafka_2.12-2.4.1/bin# ./kafka-consumer-groups.sh --delete --group group1  --bootstrap-server kafka.local:9094 

Error: Deletion of some consumer groups failed:
* Group 'group1' could not be deleted due to: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.GroupNotEmptyException: The group is not empty.
root@bastion-0:/app/kafka_2.12-2.4.1/bin# ./kafka-consumer-groups.sh --delete --group group2  --bootstrap-server kafka.local:9094 

Error: Deletion of some consumer groups failed:
* Group 'group2' could not be deleted due to: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.GroupNotEmptyException: The group is not empty.

当我查看组成员时,即使应用程序未运行,也列出了成员。是否由于新的重新平衡协议(合作重新平衡)?

./ kafka-consumer-groups从哪里读取组成员资格信息。如果应用程序关闭,是否保存会员信息?

更新

我用另一个组名启动了该应用程序,结果很好。我也可以形容小组。即使这样,旧的团体仍处于“重新平衡”状态。

新更新 另外,我发现所有组的组协调器是kafka群集中的节点之一,当我重新启动该节点时,问题就消失了。

问题

组元数据存储在哪里?问题可能与动物园管理员损坏有关吗?

1 个答案:

答案 0 :(得分:1)

这是作为 bug 在这里提出的 issue.apache.org/jira/browse/KAFKA-9935 重复 https://issues.apache.org/jira/browse/KAFKA-9752

自 3 月以来,2.2.3、2.3.2、2.4.2 和 2.5 及更高版本似乎已修复此问题,因此请确保使用最新版本。