多任务管理器故障和恢复的flink作业/数据流

ktecyv1j  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(306)

如果我们有两个任务管理器,每个任务管理器运行在不同的jvm中(总是这样),假设我们有一个操作符在数据流的中间失败,通过一个异常或jvm被失败终止,我们能假设整个数据流,包括参与该作业/数据流的所有任务管理器中的所有源和运算符将失败并重新启动(如果启用了重新启动)?阅读您的文件,我明白答案是肯定的,但想确定。

JVM 1/
Task manager 1
    source1 (1) --> operator1 (1) --> ...
                |
JVM 2/          |
Task manager 2  |
                |
                --> operator1 (2) --> ...

所以假设operator1(2)失败/它的jvm失败,source1示例和operator1示例会失败并重新启动吗?

bkhjykvo

bkhjykvo1#

是的,没错。在当前版本(flink 1.5.0)中,通过取消所有任务并重新启动它们来恢复作业。
不过,这一点在未来可能会改变,以加快复苏周期。如果发生这种情况,任务将被暂停,从最后一个成功的检查点重新加载其状态,并在恢复失败的任务后继续。

相关问题