记录:Flink checkpoint 过期导致失败(线上问题)
报错信息:
2021-08-18 18:28:40,502 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Triggering checkpoint 1 (type=CHECKPOINT) @ 1629282520408 for job 1cba827ad8a8d68521605157b77a6191.
2021-08-18 18:38:40,502 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Checkpoint 1 of job 1cba827ad8a8d68521605157b77a6191 expired before completing.
2021-08-18 18:38:40,527 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Triggering checkpoint 2 (type=CHECKPOINT) @ 1629283120507 for job 1cba827ad8a8d68521605157b77a6191.
2021-08-18 18:48:40,528 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Checkpoint 2 of job 1cba827ad8a8d68521605157b77a6191 expired before completing.
2021-08-18 18:48:40,581 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Triggering checkpoint 3 (type=CHECKPOINT) @ 1629283720528 for job 1cba827ad8a8d68521605157b77a6191.
2021-08-18 18:49:35,383 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 8e8ad4a5e66753df9bacb838c4a8c195 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000016 @ (dataPort=26682).
2021-08-18 18:49:41,220 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 6c425a7bf2cdb6f9eaff230e657e7b71 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000028 @(dataPort=26329).
2021-08-18 18:51:23,142 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 4aca7ff37807d7c53dab4af4d7317a92 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000015 @ (dataPort=28244).
2021-08-18 18:51:43,449 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task f410376b8a4c4482529b47d615d0ef7d of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000027 @ (dataPort=35241).
2021-08-18 18:52:14,054 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task b0b4e5bc960fd38f09ed136eabc92207 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000011 @ (dataPort=17858).
2021-08-18 18:53:15,172 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 254800e15801981e9a5fcaf8f8374f80 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000019 @ (dataPort=28753).
2021-08-18 18:54:23,649 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task bda7204e335e5818502024d14b9cf515 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000032 @ (dataPort=37476).
2021-08-18 18:54:53,507 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 9839eef45f9224ddbbd3383cf962ea75 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000026 @ (dataPort=31847).
2021-08-18 18:57:07,707 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 6b91c567ac5eb48d6d8c4c692327c95d of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000028 @ (dataPort=26329).
2021-08-18 18:58:40,581 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Checkpoint 3 of job 1cba827ad8a8d68521605157b77a6191 expired before completing.
2021-08-18 18:58:40,604 INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Triggering checkpoint 4 (type=CHECKPOINT) @ 1629284320583 for job 1cba827ad8a8d68521605157b77a6191.
2021-08-18 18:58:40,590 INFO org.apache.flink.runtime.jobmaster.JobMaster [] - Trying to recover from a global failure.
org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable failure threshold.
jobmanager定时trigger checkpoint
,给source处发送trigger信号,同时会启动一个异步线程,在checkpoint timeout
时长之后停止本轮 checkpoint,cancel动作执行之后本轮的checkpoint就为超时,如果在超时之前收到了最后一个sink算子的ack
信号,那么checkpoint就是成功的。
超时原因一般有两种:
1. barrier对齐超时
2. 异步状态遍历和写HDFS超时(比如State太大)
解决:
这个job 的sink是写入ES中,由于ES集群扩容了一些机器,因为跨机房导致ES端有问题,从而导致消费端有问题从而出现反压,从而导致barrier对齐时间过长 而导致checkpoint失败。
一般的排查方式(网上找的方法):
查看ui上的失败checkpoint的detail,可以看到失败的是Pending -> EventEmit xxx
这个算子的10个subtask。
接着去jobmanager上查看这个checkpoint的一些延迟信息:
(最上面报错信息内容)
可以根据这些失败的task的id去查询这些任务落在哪一个taskmanager上,经过排查发现,是同一台机器,通过ui看到该机器流入的数据明显比别的流入量大 因此是因为数据倾斜导致了这个问题,追根溯源还是下游消费能力不足的问题
根据日志可以去源码中查找相对应的信息,例如:
2021-08-18 18:49:35,383 WARN org.apache.flink.runtime.checkpoint.CheckpointCoordinator [] - Received late message for now expired checkpoint attempt 2 from task 8e8ad4a5e66753df9bacb838c4a8c195 of job 1cba827ad8a8d68521605157b77a6191 at container_e150_1628460895322_672063_01_000016 @ xxxxxxxxx (dataPort=26682).
CheckpointCoordinator类中查找:
if (recentPendingCheckpoints.contains(checkpointId)) {wasPendingCheckpoint = true;LOG.warn("Received late message for now expired checkpoint attempt {} from task "+ "{} of job {} at {}.",checkpointId,message.getTaskExecutionId(),message.getJob(),taskManagerLocationInfo);
代码中就可以知道 每个大括号{} 中代表的是什么。
(问题排查:主要是通过 JM的日志和TM日志,以及Flink WebUI 的 每个算子反压状况以及checkpoint的状况)
记录:Flink checkpoint 过期导致失败(线上问题)相关推荐
- 电脑显示服务器负载信息失败,线上服务mcelog负载异常分析处理流程
一.难题简述: Nginx网络服务器,HP,有沉余,在其中一台网络服务器mcelog负荷较为高,日志秒等级,早已危害了此网络服务器业务流程. tail -f /var/log/mcelog #留意看此 ...
- 测试金融软件出现线上bug的原因及解决方法
小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...
- 用 gson 替换 fastjson 引发的线上问题分析
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 Json 序列化框架存在的安全漏洞一直以来都是程序 ...
- 线上BUG 处理并分析原因
昨天下午大神把组内几十号人召集在一起开Online bug分析大会,主要是针对近期线上事故从事故原因和解决方案两个维度来分析 对金融软件来说,每一次的线上事故都有可能给公司带来重大的损失,少扣了用户的 ...
- javacore分析工具_线上死锁定位分析
" 记录一次线上死锁的定位分析." 昨晚睡觉前提了点代码到 jfoa(https://github.com/JavaFamilyClub/jfoa) 怎么也没想到导致 ...
- gta5在线模式连接不到服务器,gta5线上模式进不去怎么办
gta5是一款非常热门的游戏,很多的玩家都对其爱不释手但是游戏也一直容易出现故障,最常见的就是线上模式进不去,那么该怎么解决呢?一起来看看吧. gta5线上模式进不去怎么办 1. 更换DNS,比如20 ...
- 线上事故应该由谁来承担?
前不久线上发生了一个事故,主线是这样的,XX 平台对接了 web 端和手机终端,一个伸手不见五指的夜晚,web 端出现了问题,SRE 发现故障后迅速发起了 oncall 机制,建立了作战室.一个小时后 ...
- gta5线上显示无法连接服务器,gta5线上模式连接不上怎么回事_gta5线上模式进不去如何解决...
最近有很多玩家都喜欢在电脑中玩这款gta5网络游戏, 但是在玩的时候经常会遇到一些问题,比如常见的gta5线上模式连接不上的现象,这是怎么回事呢,针对此问题,本文告诉大家gta5线上模式进不去解决方法 ...
- 线上FGC调优案例三则
前言 闲鱼服务端应用广泛使用 Java 技术栈,基于JVM提供的托管式堆内存管理,开发者无需过多关心对象创建/回收时的内存分配/释放动作,垃圾回收器(Garbage Collector)会在需要的时候 ...
最新文章
- 计算机视觉算法工程师(旷视、商汤、智云、海康)面试总结
- “ yield”关键字有什么作用?
- yarn架构——本质上是在做解耦 将资源分配和应用程序状态监控两个功能职责分离为RM和AM...
- JavaScript学习-1
- Eclipse Alt+/ Content Assistant
- C#桌面开发的未来WebWindow
- java 设置头错误信息,错误:在node.js中发送标头后无法设置标头
- 【BZOJ2754】【codevs2403】喵星球上的点名,AC自动机与STL的狂欢
- Dubbo服务治理(一):限流策略
- 插入行政区划编码的sql代码
- Speedoffice(excel)如何根据身份证号计算年龄
- 【IDE-Visual Studio】无法启动程序“xxx.exe”。由于应用程序配置不正确,未能启动此应用程序。
- 增量迭代模型,瀑布模型,螺旋模型,快速原型模型
- .NET中的枚举用法浅析
- 幸运数47:给定正整数n,求不大于n的仅由4和7组成的数字的个数
- 伺服驱动器生产文件_伺服驱动器程序源代码 程序源代码文件
- 微软帝国踏上Windows7征途(图)
- 电力电子中的DSP开发板使用 --- 接地篇
- 协作中继与非协作中继
- matlab2016泰勒,matlab泰勒逼近