1.Checkpoint失败:Checkpoint expired before completing
env.enableCheckpointing(1000L)
val checkpointConf = env.getCheckpointConfig
checkpointConf.setMinPauseBetweenCheckpoints(30000L)
checkpointConf.setCheckpointTimeout(8000L)
原因是因为
checkpointConf.setCheckpointTimeout(8000L)设置的太小了,默认是10min,这里只设置了8sec。当一个Flink App背压的时候(例如由外部组件异常引起),Barrier会流动的非常缓慢,导致Checkpoint时长飙升。
2.在Flink中,资源的隔离是通过Slot进行的,也就是说多个Slot会运行在同一个JVM中,这种隔离很弱,尤其对于生产环境。Flink App上线之前要在一个单独的Flink集群上进行测试,否则一个不稳定、存在问题的Flink App上线,很可能影响整个Flink集群上的App。
3 .Flink App抛出The assigned slot container_e08_1539148828017_15937_01_003564_0 was removed.此类异常,通过查看日志,一般就是某一个Flink App内存占用大,导致TaskManager(在Yarn上就是Container)被Kill掉。但是并不是所有的情况都是这个原因,还需要进一步看yarn的日志( 查看yarn任务日志:yarn logs -ap
来源:CSDN
作者:阿华田512
链接:https://blog.csdn.net/aA518189/article/details/103622261