我正在运行一些实验来测试Apache Flink的容错功能。我目前正在使用HiBench框架和为Flink实现的WordCount微基准。
我注意到如果我在执行期间杀死了一个TaskManager,Flink运算符的状态在自动“重新部署”之后被恢复,但是从基准发送到Kafka的许多(全部?)元组被遗漏(存储在Kafka中但没有收到Flink)。
似乎在恢复之后,FlinkKafkaConsumer
(基准测试使用FlinkKafkaConsumer08)代替从失败开始读取之前的最后一个偏移读取开始读取最新可用的读取(丢失了在此期间发送的所有事件)失败)。
有什么建议吗?
谢谢!
答案 0 :(得分:1)
问题在于HiBench框架本身以及最新版本的Flink。
我必须在基准测试中更新Flink版本才能在Kafka消费者中使用“setStartFromGroupOffsets()”方法。