我正在使用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群集中的节点之一,当我重新启动该节点时,问题就消失了。
问题:
组元数据存储在哪里?问题可能与动物园管理员损坏有关吗?
答案 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 及更高版本似乎已修复此问题,因此请确保使用最新版本。