Apache kafka 试图在Kafka中删除消费者组时获取GroupNotEmptyException

Apache kafka 试图在Kafka中删除消费者组时获取GroupNotEmptyException,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我执行 "kafka-consumer-groups --bootstrap-server localhost:9092 --list" 这将导致显示一个组:console-consumer-961 然后我尝试删除此组: kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group console-consumer-961 但这导致了一个例外: Error: Deletion of so

我执行

"kafka-consumer-groups --bootstrap-server localhost:9092 --list" 
这将导致显示一个组:console-consumer-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时创建的,但是现在这个consumer没有运行。如何删除此消费群体?

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

您仍然无法使用Kafka consumer groups工具删除新样式的消费群体,但您的根本问题已经解决


在Kafka 0.10.2之前,有过黑客攻击,但没有解决此问题的干净方法。

您可以使用
Kafka consumer groups
命令行工具验证消费者组的状态

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

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

我执行了上面的命令,并使组处于稳定状态-尽管没有使用者在运行,并且计算机在重新启动后处于稳定状态。我重新启动了机器,重新启动了zookeeper和kafka,并再次执行了命令。状态变为空!我再次执行了group delete命令,这次该命令执行成功。我认为值得一提的是,如果您的消费者突然死亡,无论您的超时时间有多长,它都可能是一个幽灵成员。