【问题标题】:Getting GroupNotEmptyException when trying to delete a consumer group in Kafka尝试删除 Kafka 中的消费者组时出现 GroupNotEmptyException
【发布时间】:2020-09-02 08:11:51
【问题描述】:

我执行了

"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 时创建的,但是现在这个消费者没有运行。如何删除此消费组?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

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

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

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

    【讨论】:

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

    当您删除主题时,偏移信息现在会正确重置。所以当你创建同名主题时,消费者会从新数据的开头开始。

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-16
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 2020-09-19
      • 2022-07-07
      • 2019-04-22
      相关资源
      最近更新 更多