Apache kafka 如何将卡夫卡消费群体中的消费者补偿推进到底?

Apache kafka 如何将卡夫卡消费群体中的消费者补偿推进到底?,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,是否有一种简单的方法--使用Kafka REST API--将使用者组中所有分区上的使用者偏移量提前到分区的末尾?实际上,有时我希望跳过对所有剩余消息的消费——例如,如果我希望重新生成所有消息 我知道我可以检索消费者组、检索分区、循环并查找每个分区--有没有更简单的方法?根据上的文档,您可以通过以下请求为消费者组执行此操作: POST /consumers/testgroup/instances/my_consumer/positions/end HTTP/1.1 Host: proxy-ins

是否有一种简单的方法--使用Kafka REST API--将使用者组中所有分区上的使用者偏移量提前到分区的末尾?实际上,有时我希望跳过对所有剩余消息的消费——例如,如果我希望重新生成所有消息


我知道我可以检索消费者组、检索分区、循环并查找每个分区--有没有更简单的方法?

根据上的文档,您可以通过以下请求为
消费者组执行此操作:

POST /consumers/testgroup/instances/my_consumer/positions/end HTTP/1.1
Host: proxy-instance.kafkaproxy.example.com
Content-Type: application/vnd.kafka.v2+json

{
  "partitions": [
    {
      "topic": "test",
      "partition": 0
    },
    {
      "topic": "test",
      "partition": 1
    }

  ]
}
不过,您需要提前知道订阅的主题和ConsumerGroup的分区

编辑: 有时我想跳过所有剩余的邮件

我在这里看到了多个选项,但在我看来,所有这些选项都相当粗糙,而且也没有使用Kafka Rest API

选择1 将主题的保留时间(
retention.ms
)更改为一个较小的值(如
1
),稍等片刻,让LogCleaner删除所有邮件,并将保留时间更改回正常值。然后生成新的替代数据

选择2 将所有使用者的使用者组名称更改为新的使用者组(配置
group.id
),并通过设置
auto.offset.reset=latest
,让使用者从主题末尾开始阅读。然后生成新的替代数据

选择3 与我的初始答案类似,使用卡夫卡工具
Kafka消费群体
手动将消费群体(例如“myConsumer”)的偏移量更改为结束偏移量:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --reset-offsets --group myConsumer --topic myTopic --to-latest

我可以处理的主题,但我仍然必须获得分区。打电话只做所有分区会很酷吗?还是很有帮助的。谢谢。嗯,这似乎表明它会推动某个实例的偏移量。知道我将如何为所有现有实例这样做吗?我的用例是,我希望所有消费者跳过所有剩余的未使用数据,例如,当数据无效时,我将为主题生成新的替代数据。有更好的方法吗?嗨@PatrickSzalapski,我在回答如何处理这个用例的问题时添加了一些备选方案。你能帮我了解我在哪里可以找到卡夫卡消费群体吗?我有Windows和debian。这是一个命令行工具,应该位于您的Kafka安装目录中。