【发布时间】:2020-04-28 14:57:57
【问题描述】:
我在集群模式下使用 Flink 流式传输与 Kafka 消费者连接器 (FlinkKafkaConsumer) 和文件接收器 (StreamingFileSink),策略只有一次。 文件接收器将文件写入本地磁盘。 我注意到,如果作业失败并且自动重新启动已打开,任务管理器会查找上次失败作业的剩余文件(隐藏文件)。 显然,由于可以将任务分配给不同的任务管理器,因此一遍又一遍地总结出更多的失败。 到目前为止,我发现的唯一解决方案是删除隐藏文件并重新提交作业。 如果我做对了(如果我错了,请纠正我),隐藏文件中的事件没有提交到引导服务器,所以没有数据丢失。
有没有办法强制 Flink 忽略已经写入的文件?或者也许有更好的方法来实现解决方案(可能以某种方式使用保存点)?
【问题讨论】:
标签: apache-kafka apache-flink flink-streaming