举例说明 如何通过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日志中看到访问目录没有权限:

相关推荐
q***47431 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
寰宇视讯1 小时前
奇兵到家九周年再进阶,获36氪“WISE2025商业之王 年度最具商业潜力企业”
大数据
声网2 小时前
活动推荐丨「实时互动 × 对话式 AI」主题有奖征文
大数据·人工智能·实时互动
深蓝电商API3 小时前
Scrapy + Scrapy-Redis 分布式爬虫集群部署(2025 最新版)
redis·分布式·scrapy
Hello.Reader3 小时前
在 YARN 上跑 Flink CDC从 Session 到 Yarn Application 的完整实践
大数据·flink
Learn Beyond Limits3 小时前
Data Preprocessing|数据预处理
大数据·人工智能·python·ai·数据挖掘·数据处理
Sinowintop3 小时前
易连EDI-EasyLink无缝集成之消息队列Kafka
分布式·网络协议·kafka·集成·国产化·as2·国产edi
玩转以太网4 小时前
W55MH32 单芯片以太网方案:破解分布式 IO 三大痛点
分布式·物联网
放学有种别跑、4 小时前
GIT使用指南
大数据·linux·git·elasticsearch
gAlAxy...5 小时前
SpringMVC 响应数据和结果视图:从环境搭建到实战全解析
大数据·数据库·mysql