删除zookeeper中的kafka使用者组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除zookeeper中的kafka使用者组相关的知识,希望对你有一定的参考价值。

我正在使用kafka_2.9.2-0.8.1.1和zookeeper 3.4.6。

是否有可以自动从zookeeper中删除使用者组的实用程序?或者我可以删除zookeeper中/ consumers / [group_id]下的所有内容吗?如果是后者,还有什么我错过了吗?这可以用现场系统完成吗?

答案

目前,据我所知,删除Kafka使用者组的唯一方法是手动删除Zookeeper路径/consumers/[group_id]

如果您只想删除一个使用者组,则无需担心手动删除Zookeeper路径,但如果您这样做是为了倒带偏移,下面的内容将会有所帮助。

首先,在删除Zookeeper路径之前,应该停止所有使用者属于使用者组。如果不这样做,那些消费者将不会消耗新生成的消息,并且很快将关闭与Zookeeper集群的连接。

当您重新启动使用者时,如果您希望消费者从头开始,请将auto.offset.reset属性提供给smallest(或在新的Kafka版本中使用earliest)。该属性的默认值是largest(或新的Kafka版本中的latest),它使重新启动的消费者在最大的偏移量之后读取,而最大的偏移量又消耗了新生成的消息。有关该属性的更多信息,请参阅Kafka文档中的Consumer Config

仅供参考,卡夫卡常见问题中有一个问题How can I rewind the offset in the consumer?,但它给了我很多帮助。

另一答案

从v0.9.0开始,Kafka在/bin附带了一套工具,其中一个是kafka-consumer-groups.sh工具。这将删除一个消费者组。 ./kafka-consumer-groups.sh --zookeeper <zookeeper_url> --delete --group <group-name>

另一答案

对于新的消费者(使用kafka主题来管理偏移而不是zookeeper),您无法使用kafka的内置工具删除组信息。

以下是尝试使用kafka-consumer-groups.sh脚本删除新样式使用者的组信息的示例:

bin/kafka-consumer-groups.sh --bootstrap-server "kafka:9092" --delete --group "indexer" --topic "cleaned-logs"
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.

以下是该响应的重要部分:

请注意,不需要删除新使用者的组元数据,因为当该组的最后一个提交的偏移量到期时,将删除该组。

从监控角度来看这有点令人讨厌(特别是在通过像burrow这样的东西跟踪偏移时),因为这意味着如果你在代码中更改了消费者群体名称,你将会看到旧群体在他们的偏移量上落后,直到这些抵消到期为止。

假设您可以手动为该主题编写一个墓碑(这是在offset expiration期间发生的事情),但我还没有找到任何使这个变得容易的工具。

另一答案

您可以通过CLI从kafka中删除组

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group group_name
另一答案

我遇到了一个消费者群体的问题,并希望删除该群组。以下方法对我有用:

  • 在Kafka offsets.retention.minutes=1文件中设置server.config并重新启动Kafka服务器
  • 关闭/退出使用使用者组的进程
  • 将此主题/分区的偏移量设置为0(类似于kafka-consumer-groups.sh --bootstrap-server yourserver:9092 --group yourgroup --reset-offsets --to-latest --all-topics --execute

不要忘记设置参数并重新启动Kafka。

以上是关于删除zookeeper中的kafka使用者组的主要内容,如果未能解决你的问题,请参考以下文章

Kafka放弃Zookeeper后如何持存储主题与消费组呢?

kafka彻底删除topic

删除kafka中的topic

Apache Kafka 删除 Apache ZooKeeper 的依赖

在ansible模板中使用动态组名称

使用kafka bin目录中的zookeeper-shell.sh来查看kafka在zookeeper中的配置