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

相关推荐
KIDAKN33 分钟前
RabbitMQ 初步认识
分布式·rabbitmq
pan30350747938 分钟前
Kafka 和 RabbitMQ的选择
分布式·kafka·rabbitmq
打码人的日常分享3 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
hzulwy3 小时前
Kafka基础理论
分布式·kafka
半夏陌离4 小时前
SQL 拓展指南:不同数据库差异对比(MySQL/Oracle/SQL Server 基础区别)
大数据·数据库·sql·mysql·oracle·数据库架构
明达智控技术4 小时前
MR30分布式IO在全自动中药煎药机中的应用
分布式·物联网·自动化
jakeswang5 小时前
细说分布式ID
分布式
计算机毕业设计木哥6 小时前
计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】
java·开发语言·后端·python·spark·django·课程设计
失散136 小时前
分布式专题——1.2 Redis7核心数据结构
java·数据结构·redis·分布式·架构
A小弈同学6 小时前
新规则,新游戏:AI时代下的战略重构与商业实践
大数据·人工智能·重构·降本增效·电子合同