如何排查 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 中非常重要,其他指标大家也需要多关注。


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

相关推荐
IMPYLH6 小时前
HTML 的 <legend> 元素
java·前端·html
运行时异常6 小时前
WMS 仓储系统集成 AI Agent 实战】第 1 讲:从零搭建开发环境——pgvector 装不上、模型选错、依赖冲突,一天踩完三个大坑
java
夕除6 小时前
redis--008
java·jvm·数据库
亚古数据6 小时前
韩国公司法人登记事项证明书全解析:跨境合作的“企业身份证”
大数据·人工智能·安全
wear工程师6 小时前
线程池队列满了会怎样?从拒绝策略看懂 ThreadPoolExecutor 的扩容顺序
java
晓晓_za8986686 小时前
多租户 GEO 优化系统源码架构:权限隔离与数据分离实现
java·tcp/ip·spring·缓存·微服务·架构
AI行业应用研究6 小时前
2026年主流报名工具测评报告:眨眼猫会务智能体报名小程序为何成为多场景首选?
java·开发语言·小程序
cxoptics6 小时前
C-Lens在光模块(800G/1.6T)中的应用
java
roman_日积跬步-终至千里6 小时前
Spark 资源配置与 Shuffle 故障排查生产手册
大数据·分布式·spark
roman_日积跬步-终至千里6 小时前
量化投研中的缓慢变化维:从因子定义到回测可复现的底层逻辑
大数据·数据仓库·金融