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

相关推荐
Prince-Peng38 分钟前
技术架构系列 - 详解Kafka
分布式·中间件·架构·kafka·零拷贝·消息中间件·填谷削峰
少许极端42 分钟前
Redis入门指南(七):从零到分布式缓存-主从复制与哨兵机制
redis·分布式·缓存·主从复制·哨兵
Elastic 中国社区官方博客44 分钟前
Elasticsearch:Apache Lucene 2025 年终总结
大数据·人工智能·elasticsearch·搜索引擎·apache·lucene
三水不滴1 小时前
从原理、场景、解决方案深度分析Redis分布式Session
数据库·经验分享·redis·笔记·分布式·后端·性能优化
小邓睡不饱耶1 小时前
Hadoop:从架构原理到企业级实战,大数据处理入门到精通
大数据·hadoop·架构
让学习成为一种生活方式1 小时前
维生素E的“前世”和“今生”--文献精读200
大数据·人工智能
Francek Chen1 小时前
【大数据基础】大数据处理架构Hadoop:03 Hadoop的安装与使用
大数据·hadoop·分布式·架构
盼小辉丶1 小时前
PyTorch实战(26)——PyTorch分布式训练
pytorch·分布式·深度学习·分布式训练
Java后端的Ai之路1 小时前
【Git版本控制】-趣味解说Git核心知识
大数据·git·elasticsearch
大志哥1231 小时前
使用logstash和elasticsearch实现日志链路(二)
大数据·elasticsearch·搜索引擎