首页 > 解决方案 > 使用通配符删除 Kafka 消费者组

问题描述

我需要删除一些具有特定后缀的消费者组:

consumer_1_123
consumer_2_123
consumer_3_123
consumer_1_124
consumer_2_124

命令:

./kafka-consumer-groups.sh --bootstrap-server MY_BOOTSTRAP_SERVER --delete --group *_123

失败:

错误:删除某些消费者组失败:* 组“*_123”无法删除,原因是:GROUP_ID_NOT_FOUND

我可以通过通配符模式删除整个主题,但我无法通过这种方式删除消费者组。

有没有可能管理这个?

标签: apache-kafka

解决方案


kafka-consumer-groups工具目前不允许使用通配符删除组。它实际上甚至不允许一次管理多个组,并且需要为每个组重新启动。

正在进行一个 KIP 以添加对多个组的支持:https ://cwiki.apache.org/confluence/display/KAFKA/KIP-379%3A+Multiple+Consumer+Group+Management 我看到有人询问通配符支持讨论线程。如果您希望看到 KIP 仍在讨论中,请随时在此处发表评论。

目前唯一的选择是明确删除每个组。如果您不知道所有组名,可以先列出所有组并过滤您感兴趣的组。然后将它们一一删除。

请注意,AdminClient API允许一次删除多个组。尽管它再次通过不带通配符的方式命名它们。


推荐阅读