FlinkKafkaConsumer在HiBench中的容错

Fault Tolerance of FlinkKafkaConsumer in HiBench

我正在运行做一些实验,测试Apache Flink的容错能力。我目前正在使用 HiBench 框架和为 Flink 实现的 WordCount 微型基准测试。

我注意到,如果我在执行期间终止 TaskManager,Flink 运算符的状态会在自动 "redeploy" 之后恢复,但是从基准测试发送到 Kafka 的许多(全部?)元组会丢失(存储在 Kafka 中,但在 Flink 中未收到)。

似乎在恢复后,FlinkKafkaConsumer(基准测试使用 FlinkKafkaConsumer08)代替从失败前读取的最后一个偏移量开始读取,从最新的可用偏移量开始读取(丢失所有发送的事件)在失败期间)。

有什么建议吗?

谢谢!

问题出在 HiBench 框架本身和最新版本的 Flink 上。

为了在 Kafka 消费者中使用 "setStartFromGroupOffsets()" 方法,我不得不更新基准测试中的 Flink 版本。