首页 文章

如何从java代码中删除Kafka主题的使用者组?

提问于
浏览
0

我有一个kafka主题T.

用户可以选择创建新条目A,B,C或删除它们 . 在创建每个条目A,B或C时;我将为kafka主题T创建一个具有相同名称的使用者组 .

删除条目A,B,C;我希望删除相应的使用者组,而不会以任何方式影响主题T - 但我想从Java模块实现这一点 . 怎么可能?

2 回答

  • -1

    目前,只有有限的Java API . 正在讨论添加Java AdminClient(参见https://cwiki.apache.org/confluence/display/KAFKA/KIP-117%3A+Add+a+public+AdminClient+API+for+Kafka+admin+operations

    对于基于Zookeeper的消费者组(即v0.8中的旧消费者),您可以查看 ConsumerGroupCommand 的代码 - 这是Scala代码,但您仍然可以从Java调用它 .

    对于基于经纪人的消费者群体(即v0.9的新消费者群体),您根本无法删除消费者群体(此刻 - 它是WIP以增加对此的支持) . 但是,如果消费者组不再处于活动状态,则会自动删除这些消费者组 . 您可以通过代理设置 offsets.retention.minutes 配置此"delay"(如果删除了所有已提交的偏移,则会删除该组) .

  • 1

    我没有足够的评论点,但如果您只想删除一个使用者组,唯一的方法就是删除zookeeper条目 /consumers/[group_id] . 这是一个指向正确方向的链接:removing a kafka consumer group in zookeeper

相关问题