web-dev-qa-db-ja.com

kafka 0.11 --to-datetimeによるコンシューマグループのオフセットのリセット

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ベースではないコンシューマ)を使用するコンシューマに関する情報のみを表示します。

時間に応じてオフセットをリセットする方法

12
DHRUV BANSAL

呼び出す

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'。

7
amethystic

これはエラーではなく、単なる警告です。--bootstrap-serverオプションを指定したため、変更はnew Java APIを使用して実装されているコンシューマにのみ影響します。他のAPIでは、代わりに--zookeeperオプションを指定する必要があります。

3
Alex Ott

古いスレッドですが、このリンクは、kafka offsets。

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」と「LOG-END-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-current
    • -最新の
    • -オフセットする
    • --to-datetime
    • -期間ごと

このコマンドは、コンシューマーグループがサブスクライブするすべてのトピックのオフセットをリセットするオプションも提供します:--all-topics

2
Vaibhav Jain