尝试删除 Kafka 中的消费者组时出现 GroupNotEmptyException

Jac*_*000 6 apache-kafka kafka-consumer-api

我执行了

"kafka-consumer-groups --bootstrap-server localhost:9092 --list" 
Run Code Online (Sandbox Code Playgroud)

这会导致显示一组:console-consumer-961

然后我尝试删除该组:

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group console-consumer-961
Run Code Online (Sandbox Code Playgroud)

但这会导致异常:

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.
Run Code Online (Sandbox Code Playgroud)

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

mik*_*ike 8

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

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group console-consumer-961 --state
Run Code Online (Sandbox Code Playgroud)

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

  • 我执行了上面的命令并使组处于稳定状态 - 尽管没有消费者正在运行并且计算机在重新启动后。我再次重新启动机器,重新启动zookeeper和kafka并再次执行命令。状态变为Empty!我再次执行了组删除命令,这次命令执行成功。 (3认同)