简体   繁体   English

Flink(Kafka来源)如何管理抵消?

[英]How does Flink (Kafka source) manage offsets?

I am using Flink's FlinkKafkaConsumer09 and I wonder where are the offsets of the kafka consumer stored? 我正在使用Flink的FlinkKafkaConsumer09 ,我想知道kafka消费者的偏移存储在哪里?

I can't find them in Zookeeper nor in Kafka's offset topic. 我无法在Zookeeper中找到它们,也无法在Kafka的偏移主题中找到它们。 Also the kafka-consumer-offset tool can't find. 此外,kafka-consumer-offset工具无法找到。

Is this handled by Flink internally? 这是由Flink内部处理的吗?

Flink does not purely rely on Kafka's consumer group offset tracking, but tracks and checkpoints these offsets internally as well. Flink并不完全依赖Kafka的消费者群体偏移跟踪,而是跟踪和检查这些内部偏移。

Flink consumes data from Kafka topics and periodically checkpoints using Flink's distributed checkpointing mechanism. Flink使用Flink的分布式检查点机制消耗Kafka主题和定期检查点的数据。 In case of failure, Flink will restore the records from checkpoint directory and will start reading data from Kafka offset after that. 如果失败,Flink将从检查点目录恢复记录,并在此之后开始从Kafka偏移量中读取数据。

It is important to enable checkpointing in Flink in order to use fault Kafka consumer. 在Flink中启用检查点以便使用故障Kafka消费者非常重要。

Here is how you can do it. 这是你如何做到的。

final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.enableCheckpointing(5000); // checkpoint every 5000 msecs

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM