2

Flinkでカフカのトピックの始めからいつも消費していることを確認するにはどうすればよいですか? FLINK 1.0.2の一部であるKafka 0.9.x consumerFlinkでカフカトピックの先頭から消費する

、オフセットを制御するために、もはやカフカが、FLINKだと思わない:

FLINKは、その 分散チェックポイントの一部として内部オフセットをスナップショット。 Kafka/ZooKeeper にコミットされたオフセットは、進捗状況のFlinkの のビューと同期して進捗状況の外見を表示するだけです。このようにして、モニタリングやその他の仕事は、Flink Kafka消費者がトピックをどれだけ消費したかを示す ビューを取得できます。

これは私が得た方法遠いですが、それは中断したところ私のFLINKプログラムは常に起動し、設定がそれを指示して先頭に戻りません:私はあなたができると思う

val props = new Properties() 
props.setProperty("bootstrap.servers", "localhost:9092"); 
props.setProperty("group.id", "myflinkservice") 
props.setProperty("auto.offset.reset", "earliest") 

val incomingData = env.addSource(
    new FlinkKafkaConsumer09[IncomingDataRecord](
    "my.topic.name", 
    new IncomingDataSchema, 
    props 
) 
) 

答えて

0

ランダムgroup.idを指定することでこれを回避:

val props = new Properties() 
props.setProperty("bootstrap.servers", "localhost:9092"); 
props.setProperty("group.id", s"myflinkservice_${UUID.randomUUID}") 
props.setProperty("auto.offset.reset", "smallest") // "smallest", not "earliest" 

auto.offset.resetのZooKeeperで利用できるオフセットなし初期はありません場合にのみ機能します。

+0

それは私がやっていることです:-)私はカフカの消費者のためのグループを指定する能力を失うので、実用的ではありません。私の質問で引用したドキュメントによると、Flink 1.0.2は、もはや、飼い猫にコミットしたオフセットに依存せず、オフセット自体を追跡しているようです。 –

+0

Kafkaコンシューマが起動し、グループに使用可能なオフセットがない場合、オフセットのリセット方法に従って起動します。 Flinkが行っているすべてのオフセット追跡は、ジョブの存続期間(セーブポイントを除く)にのみ適用されます。したがって、ジョブが停止すると、ZKまたは自動オフセット戦略に依存します。 あなたが探しているのは、Flinkがオフセットを決して選べないように、(ZKまたはブローカーに)コミットしているオフセットを完全に無効にする機能です。これは現在、FlinkのKafkaコネクタでは利用できない機能です –

関連する問題