我正在运行一些实验来测试 Apache Flink 的容错能力。我目前正在使用 HiBench 框架和为 Flink 实现的 WordCount 微型基准测试。
我注意到,如果我在执行过程中杀死了一个 TaskManager,Flink 操作符的状态会在自动“重新部署”后恢复,但是从基准测试发送到 Kafka 的许多(全部?)元组会丢失(存储在 Kafka 中但不存储在 Kafka 中)在 Flink 中接收)。
似乎在恢复之后,FlinkKafkaConsumer
(基准测试使用 FlinkKafkaConsumer08)代替了从失败前读取的最后一个偏移量开始读取,从最新的可用偏移量开始读取(丢失所有事件)在失败期间发送)。
有什么建议吗?
谢谢!
最佳答案
问题出在 HiBench 框架本身和最新版本的 Flink 上。
为了在 Kafka 消费者中使用“setStartFromGroupOffsets()”方法,我必须更新基准测试中的 Flink 版本。
关于apache-kafka - FlinkKafkaConsumer在HiBench中的容错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49697590/