【问题标题】:How change Kafka committed consumer offset with required offset如何使用所需的偏移量更改 Kafka 承诺的消费者偏移量
【发布时间】:2018-05-08 10:12:01
【问题描述】:

我有 Kafka Stream 应用程序。我的应用程序正在成功处理事件。

如何将 Kafka 提交的消费者偏移量更改为重新处理/跳过事件所需的偏移量。我试过How to change start offset for topic?。但我得到“节点不存在:”错误。请帮帮我。

【问题讨论】:

    标签: apache-kafka apache-zookeeper kafka-consumer-api apache-kafka-streams


    【解决方案1】:

    您所指的问题/答案基于较旧的 Kafka 版本。从 Kafka 0.9 开始,偏移量不再提交给 ZooKeeper,而是存储在名为 offset topic 的特殊 Kafka 主题中(主题名称为 __consumer_offsets)。

    从 Kafka 1.0 开始,命令行工具 bin/kafka-consumer-groups.sh 具有允许设置偏移量的新功能。查看原始 KIP:https://cwiki.apache.org/confluence/display/KAFKA/KIP-122%3A+Add+Reset+Consumer+Group+Offsets+tooling

    该工具也适用于 Kafka 0.11(甚至更旧的 Kafka 版本)。

    另一种方法是编写自己的工具,使用单个KafkaConsumer 和相应的group.id,订阅您要修改偏移量的主题,seek()commit() 偏移量。 (注意,您应该为此消费者禁用自动提交。)

    【讨论】:

    • 我尝试根据文档重置偏移量。但我得到了无法识别的选项异常。我的 Kafka 版本是 0.10.2.0 命令是:/home/centos/kafka_2.12-0.10.2.0/bin/kafka-consumer-groups.sh --bootstrap-server 1.1.1.1:9092,1.1.1.2:9092 --reset-offsets --group sample-app-0.0.1 --topic abc --to-offset 76756952 例外:Exception in thread "main" joptsimple.UnrecognizedOptionException: reset-offsets is not a recognized option。这个选项在 0.10.2.0 中不可用吗?
    • 因为您调用kafka_2.12-0.10.2.0/bin/kafka-consumer-groups.s‌​h,您使用的是旧工具。您需要下载 Kafka 1.0 并从那里使用该工具。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2019-04-04
    • 2016-03-05
    • 2019-05-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多