State状态
什么是状态: 程序在计算过程当中的中间结果
Flink实时计算程序为了保证计算过程中,出现异常可以容错,就要将中间的计算结果数据存储起来,这些中间数据就叫做State。
State可以是多种类型的,默认是保存在JobManager的内存中,也可以保存到TaskManager本地文件系统或HDFS这样的分布式文件系统
StateBackEnd
用来保存State的存储后端就叫做StateBackEnd,默认是保存在JobManager的内存中,也可以保存的本地文件系统或HDFS这样的分布式文件系统
CheckPointing
Flink实时计算为了容错,可以将中间数据定期保存到起来,这种定期触发保存中间结果的机制叫CheckPointing。CheckPointing是周期执行的。具体的过程是JobManager定期的向TaskManager中的SubTask发送RPC消息,SubTask将其计算的State保存到StateBackEnd中,并且向JobManager相应Checkpoint是否成功。如果程序出现异常或重启,TaskManager中的SubTask可以从上一次成功的CheckPointing的State恢复。
重启策略
Flink实时计算程序,为了容错,需要开启CheckPointing,一旦开启CheckPointing,如果没有重启策略,默认的重启策略是无限重启,可以也可以设置其他重启策略,如:重启固定次数且可以延迟执行的策略。
Flink实时计算程序利用State保存中间计算结果以实现容错。StateBackEnd是存储这些状态的后端,可以是内存、本地文件系统或分布式文件系统。CheckPointing是定期保存State的过程,用于故障恢复。当任务异常或重启时,可通过之前的CheckPoint进行恢复。默认的重启策略为无限重启,也可配置其他策略。
565

被折叠的 条评论
为什么被折叠?



