如何排查 Flink Checkpoint 失败问题?

分析&回答

这是 Flink 相关工作中最常出现的问题,值得大家搞明白。

1. 先找到超时的subtask序号

图有点问题,因为都是成功没失败的,尴尬了。

借图:

2. 找到对应的机器和任务

方法很多,这里看自己习惯和公司提供的系统。

3. 根据日志排查问题

  • netstat -nap| grep 端口号 就找到对应的pid了,
  • 然后ps aux | grep pid 就找到任务目录和日志了。

比如下一种情况:

  1. 接着去jobmanager上查看这个checkpoint的一些延迟信息
  2. 根据这些失败的task的id去查询这些任务落在哪一个taskmanager上,经过排查发现,是同一台机器,通过ui看到该机器流入的数据明显比别的流入量大
  3. 因此是因为数据倾斜导致了这个问题,追根溯源还是下游消费能力不足的问题

反思&扩展

  1. 用户代码逻辑没有对于异常处理,让其直接在运行中抛出。比如解析 Json 异常,没有捕获,导致 Checkpoint失败,或者调用 Dubbo 超时异常等等。
  2. 依赖外部存储系统,在进行数据交互时,出错,异常没有处理。比如输出数据到 Kafka、Redis、HBase等,客户端抛出了超时异常,没有进行捕获,Flink 任务容错机制会再次重启。
  3. 内存不足,频繁GC,超出了 GC 负载的限制。比如 OOM 异常
  4. 网络问题、机器不可用问题等等。

Checkout 在 Flink 中非常重要,其他指标大家也需要多关注。


喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!

相关推荐
计算机编程-吉哥2 分钟前
大数据毕业设计 基于大数据的计算机岗位招聘数据可视化分析系统 计算机毕业设计【项目+论文+安装调试】
大数据·机器学习·信息可视化·数据分析·毕业设计·计算机毕业设计选题·大数据毕业设计选题推荐
~央千澈~5 分钟前
抖音弹幕游戏开发之第7集:识别不同类型的消息·优雅草云桧·卓伊凡
java·服务器·前端
说私域8 分钟前
链动2+1模式AI智能名片S2B2C商城小程序在微商信任重建中的创新应用与价值实现
大数据·人工智能·小程序·私域运营
草履虫建模14 分钟前
Java面试应对思路和题库
java·jvm·spring boot·分布式·spring cloud·面试·mybatis
I_LPL25 分钟前
day32 代码随想录算法训练营 动态规划专题1
java·数据结构·算法·动态规划·hot100·求职面试
Forget_855035 分钟前
RHEL——web应用服务器TOMCAT
java·前端·tomcat
v沙加v40 分钟前
Java Rendering Engine Unknown
java·开发语言
Hello.Reader1 小时前
Flink Balanced Tasks Scheduling:并行度不一致时,怎么把 TaskManager “压得更均匀”
大数据·flink
识君啊1 小时前
Java双指针 - 附LeetCode 经典题解
java·算法·leetcode·java基础·双指针
java1234_小锋1 小时前
分享一套优质的SpringBoot4+Vue3学生信息管理系统
java·vue.js·spring boot·学生信息