如何从特定主题中删除Kafka消费者组?

问题描述

我更改了Web服务的消费者组ID,以收听Kafka主题。现在,旧的组ID仍已注册到该主题,但是没有使用该组ID的使用者。因此,它是滞后的。如何从特定主题中移除特定的消费群体?

我尝试过:

kafka-consumer-groups --bootstrap-server kafka01.myserver.com:9092 --topic notification-topic --delete --group old-consumer-group --execute

但是它返回:“ 使用者不支持从使用者组中删除特定于主题的偏移量。

我应该完全删除消费群体吗?我使用相同的群组ID收听其他主题,它们会受到影响吗?

解决方法

从 Kafka 2.4.0 开始,可以从主题中删除单个消费者组 ID 偏移量。

该调用与您已经尝试过的非常接近,但需要 --delete-offsets 而不是 --delete

./kafka-consumer-groups.sh \
  --bootstrap-server <bootstrap-server-url> \
  --delete-offsets \
  --group <my-group> \
  --topic <topic-name>

到目前为止,这还没有反映在 official documentation(Kafka 2.7.0 及以下)中。但是,它在已实施和发布的改进提案 KIP-496 的汇合文档中进行了描述。

,

您不能单独删除特定的网上论坛,也不能从网上论坛中删除主题。

根据您为代理上的抵销主题定义的保留时间,消费者组仍然可用。滞后组未被消耗不会对性能造成影响。

注意:每次使用kafka-console-consumer时,都会创建一个全新的组。