一、CK失败
Flink任务的checkpoint操作失败大致分为两种情况,ck decline和ck expire:
(1)ck decline
发生ck decline情况时,我们可以通过查看JobManager.log或TaskManager.log查明具体原因。其中有一种特殊情况为ck cancel,当前 Flink 中如果较小的ck还没有对齐的情况下,收到了更大的ck,则会把较小的ck给取消掉。
(2)ck expire
如果ck做的非常慢,超过了timeout还没有完成,则整个ck也会失败。这种情况也可以通过查看JobManager.log或TaskManager.log查明具体原因。
由查看JobManager和TaskManager(下文简称TM)当时的日志可知,是因为TM重启,导致做ck超时,发生了ck Expire。
而TM重启的原因,主要有两个原因,一个可能是网络传输波动,另一个是TM资源不足,通过进一步排查,本次TM重启的原因是当时处理数据量增加,导致TM资源不足,发生了TM重启,进而导致了那次ck失败。
二、TaskManager内存分析
TaskManager内存示意图
组成部分 | 配置参数 | 描述 |
---|---|---|
框架堆内存 |