【问题标题】:kafka 0.11 reset offset for consumer group by --to-datetimekafka 0.11 通过 --to-datetime 重置消费者组的偏移量
【发布时间】:2018-05-03 15:31:36
【问题描述】:

我想通过时间戳重置 kafka 消费者组的偏移量。 但是当我使用以下命令时:

./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --reset-offsets --to-datetime 2017-11-1907:52:43:00:000 --group <group_name> --topic <topic_name> --execute

我收到以下错误消息:

注意:这只会显示有关使用 Java 消费者 API(非基于 ZooKeeper 的消费者)。

如何根据时间重置偏移量

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

    旧线程,但是如果您想使用 kafka 偏移,此链接会很有帮助。

    https://gist.github.com/marwei/cd40657c481f94ebe273ecc16601674b#file-how_to_reset_kafka_consumer_group_offset-md

    重点:

    Kafka 0.11.0.0 (Confluent 3.3.0) 添加了对操作偏移量的支持 通过 cli kafka-consumer-groups 命令为消费者组。

    1. 列出该组订阅的主题bash kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --describe 注意“CURRENT-OFFSET”下的值和 “对数结束偏移”。 “CURRENT-OFFSET”是这个消费者的偏移量 组当前位于每个分区中。

    2. 重置主题的消费者偏移量(预览版)bash kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --topic <topic_name> --reset-offsets --to-earliest 这个 将打印重置的预期结果,但不会实际运行它。

    3. 重置主题的消费者偏移量(执行)bash kafka-consumer-groups --bootstrap-server <kafkahost:port> --group <group_id> --topic <topic_name> --reset-offsets --to-earliest --execute这将执行重置并将指定主题的消费者组偏移量重置回0。

    4. 重复1检查是否重置成功

    注意

    • 执行重置时,消费者组必须没有正在运行的实例。否则重置将被拒绝。
    • 还有很多其他的重置选项,详情请运行kafka-consumer-groups

      • --shift-by
      • --当前
      • --最新
      • --to-offset
      • --to-datetime
      • --按持续时间

    该命令还提供了一个选项来重置所有主题的偏移量 消费组订阅:--all-topics

    【讨论】:

      【解决方案2】:

      调用

      bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092
      --group test-group --reset-offsets --all-topics --to-datetime 2017-08-04T00:00:00.000
      

      可以将偏移量重置为给定日期时间之后最早的偏移量。日期时间格式为yyyy-MM-ddTHH:mm:ss.xxx,例如 2017-08-04T00:00:00.000。

      您还可以按持续时间重置偏移量。请参阅下面的示例:

      bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 
      --group test-group --reset-offsets --all-topics --by-duration PT0H30M0S
      

      --by-duration 将偏移量重置为当前时间戳的持续时间偏移量。格式:'PnDTnHnMnS'。

      【讨论】:

        【解决方案3】:

        这不是错误,而只是警告 - 因为您指定了 --bootstrap-server 选项,所以更改只会影响使用新 Java API 实现的消费者。如果您有使用其他 API 构建的消费者,则需要指定 --zookeeper 选项。

        【讨论】:

          猜你喜欢
          • 2018-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-22
          • 2017-07-22
          • 2018-10-06
          • 2017-01-01
          相关资源
          最近更新 更多