Flink 高可用性设置 -4
流处理通常7*24小时运行,即使内部出现故障也不能停止运行。本节讲解如何恢复故障进程
1.TaskManager故障
(1) 假设Flink应用设置包含4个TaskManager,每个TaskManager包含2个Slot,那么这个流式应用最多支持8个并行度来运行。
(2)如果一个TaskManager出现故障,JobManager将向ResourceManager申请资源,如果没有得到资源,那么JobManager将无法重启。
(3)应用重启策略将决定JobManager以何种方式重启。后面会将重启策略
2.JobManager故障
(1)采用高可用HA,由ZooKeeper来完成选举
(2)JobGraph写入一个远程持久存储系统中,将地址写入ZooKeeper
(3)在检查点即将完成的时候,如果所有任务将各自状态写入远程存储,JobManager会将句柄写入远程存储,并将地址写入ZooKeeper
(4)发生故障,所有JobManager下的任务自动取消
(5)新的JobManager接手工作,向ZooKeeper请求存储位置,Jar、JobGraph及应用检查点
(6)向ResourceManager申请资源
(7)重启,并利用最近一次检查点重置任务状态
3.容器环境
通常自动重启TaskManager和JobManager
评论