尝试在 Kafka 中删除使用者组时获取 GroupNotEmptyException



I 已执行

"kafka-consumer-groups --bootstrap-server localhost:9092 --list" 

这会导致显示一组:控制台消费者-961

然后我尝试删除此组:

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group console-consumer-961

但这会导致一个异常:

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

我猜这个组是在我运行 kafka-console-consumer.bat时创建的,但现在这个消费者没有运行。如何删除此消费组?

您可以使用kafka-consumer-groups命令行工具验证使用者组的状态。

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group console-consumer-961 --state

这将向您显示消费者的状态。如果它不为空,Kafka 将不允许删除该组。如果它仍然显示您的控制台使用者正在运行,则需要确保正确关闭它(通常通过 CTRL+C(

删除主题时,偏移量信息现在可以正确重置。因此,当您创建具有相同名称的主题时,使用者将从新数据的开头开始。

您仍然无法使用 Kafka 消费者组工具删除新样式的使用者组,但您的根本问题已解决。

在 Kafka 0.10.2 之前,有黑客攻击,但没有解决这个问题的干净解决方案。

最新更新