【发布时间】:2017-07-22 17:17:17
【问题描述】:
我想删除一个 Kakfa 消费者组,这样当应用程序创建消费者并订阅一个主题时,它可以从主题数据的开头开始。
这是使用当前最新的 Confluent Platform 3.1.2 的单节点开发虚拟机,该平台使用 Kafka 0.10.1.1。
我尝试了正常的语法:
sudo /usr/bin/kafka-consumer-groups --new-consumer --bootstrap-server localhost:9092 --delete --group my_consumer_group
我得到错误:
Option [delete] is only valid with [zookeeper]. Note that there's no need to delete group metadata for the new consumer as the group is deleted when the last committed offset for that group expires.
如果我尝试 zookeeper 变体:
sudo /usr/bin/kafka-consumer-groups --zookeeper localhost:2181 --delete --group my_consumer_group
我明白了:
Delete for group my_consumer_group failed because group does not exist.
如果我使用“旧”消费者列出,我看不到我的消费者组(或任何其他消费者组)
sudo /usr/bin/kafka-consumer-groups --zookeeper localhost:2181 --list
如果我使用“新”消费者列出,我可以看到我的消费者组,但显然我无法删除它:
sudo /usr/bin/kafka-consumer-groups --new-consumer --bootstrap-server localhost:9092 --list
【问题讨论】:
-
这个开箱即用没有解决方案
-
shell 只能删除基于 ZK 的消费者组。对于新消费者组,您不需要删除组,因为 Kafka 会自动删除过期组。如果您确实要重置此类组的偏移量,请将
offsets.retention.minutes设置为较小的值。 -
seekToBeginning仅在 Java API 中提供。它绝对不在 Python API 中。即使在 Java API 中,它也不太理想。 Kafka 0.10.2 以更简洁的方式解决了我的底层场景。
标签: apache-kafka apache-zookeeper