我正在运行一些实验来测试Apache的容错能力。我目前正在使用HiBench框架和为Flink实现的WordCount微基准。
我注意到,如果在执行过程中杀死一个TaskManager,Flink操作符的状态会在自动“重新部署”之后恢复,但是会有很多(全部?)从基准发送到Kafka的元组被忽略(存储在Kafka中,但没有在Flink中接收)。
似乎在恢复之后,FlinkKafkaConsumer (基准使用FlinkKafkaConsumer08)代替了从上次读取偏移量开始读取,然后再开始读取最新可用的偏移量(丢失了在故障期间发送的所有事件)。
有什么建议吗?
谢谢!
发布于 2018-04-09 14:46:46
问题在于HiBench框架本身和Flink的最新版本。
为了在Kafka消费者中使用"setStartFromGroupOffsets()“方法,我不得不在基准测试中更新Flink的版本。
https://stackoverflow.com/questions/49697590
复制相似问题