举例说明 如何通过SparkUI和日志定位任务莫名失败?

有一个Task OOM:

  • 通过概览信息,发现Stage 10的Task 36失败了4次导致Job失败。概览信息中显示最后一次失败的退出代码(exit code)是143 ,意味着发生了内存溢出(OOM,即Out of Memory)。

    可以点击Stage链接,查看为什么导致了Executor OOM(Out of Memory)。

  • 通过上述图片发现,大部分Task都成功了,只有一个失败了,这高度怀疑是数据倾斜问题。

    • 如果是Driver逻辑失败导致App失败(例如输入路径不存在、Driver OOM等),应直接查看Driver日志。
    • 如果Driver OOM,可能需要查看Yarn UI。
  • 通过Task日志进一步确认,发现日志中打印的这个Task拉取远程的Shuffle数据远超过上述成功的Task的最大值。明确失败原因为数据倾斜。

Driver fail

  • Driver逻辑导致失败的可能原因包括:

    • 路径没有权限
    • 读取路径为空
    • SparkContext初始化失败
    • 作业代码自己抛出异常等
  • 首先,Spark UI上没有显示失败的Job。

转而查看Driver log:

可以从Driver日志中看到访问目录没有权限:

相关推荐
颜子鱼1 小时前
git基础
大数据·git·elasticsearch
BD_Marathon1 小时前
【Zookeeper】 Zookeeper入门
分布式·zookeeper·云原生
乌恩大侠3 小时前
AI-RAN 在 Spark上部署 Sionna-RK
大数据·分布式·spark
csdn_aspnet3 小时前
【探索实战】Kurator入门体验与分布式云原生环境搭建
分布式·云原生·kurator
G皮T5 小时前
【ELasticsearch】索引字段设置 “index”: false 的作用
大数据·elasticsearch·搜索引擎·全文检索·索引·index·检索
q***69775 小时前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq
灰灰勇闯IT7 小时前
Flutter×鸿蒙深度融合指南:从跨端适配到分布式能力落地(2025最新实战)
分布式·flutter·harmonyos
BD_Marathon7 小时前
【Zookeeper】zk_客户端API_创建节点
分布式·zookeeper·云原生
BD_Marathon7 小时前
【Zookeeper】监听器原理
linux·分布式·zookeeper
无心水7 小时前
【分布式利器:分布式ID】5、UUID/GUID方案:无依赖实现,优缺点与场景选型
分布式·分库分表·uuid·分布式id·水平分库·分布式利器·guid