我正在使用kafka版本2.4.1(最近从2.2.0升级到2.4.1)并注意到一个奇怪的问题。
即使应用程序(kafka Streams)已关闭(没有正在运行的应用程序),但消费者组命令返回状态为重新平衡。我们的应用程序作为 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 从哪里读取组成员信息。如果应用程序关闭,它会保存会员信息吗?
Update:
我使用不同的组名称启动了该应用程序,结果很好。我也可以描述这个团体。即便如此,旧集团仍处于“再平衡”状态。
新更新另外,我发现所有组的组协调员是 kafka 集群中的节点之一,当我重新启动该节点时,问题就消失了。
Question:
组元数据存储在哪里?问题可能与损坏的动物园管理员有关吗?