我有一个 Flink v1.2 设置,有 1 个 JobManager,2 个 TaskManager,每个都在它自己的 VM 中。我将状态后端配置为文件系统,并在上述每个主机的情况下将其指向本地位置(state.backend.fs.checkpointdir:file:///home/ubuntu/Prototype/flink/flink-checkpoints)。我已将并行度设置为 1,每个任务管理器都有 1 个插槽。然后我在 JobManager 上运行一个事件处理作业,将其分配给 TaskManager。我杀死了运行作业的 TaskManager,在失败的 TaskManager 上尝试了几次失败后,Flink 尝试在剩余的 TaskManager 上运行作业。此时它再次失败,因为它找不到相应的检查点/状态:java.io.FileNotFoundException:
文件夹 /home/ubuntu/Prototype/flink/flink-checkpoints/56c409681baeaf205bc1ba6cbe9f8091 仅存在于我杀死的 TaskManager 而不是另一个。
我的问题是,如果我想要上述功能,是否应该在所有任务管理器上为检查点/状态设置相同的位置?
谢谢!