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

相关推荐
阿里云大数据AI技术1 天前
StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
大数据
Lx3521 天前
Hadoop数据处理优化:减少Shuffle阶段的性能损耗
大数据·hadoop
努力的小郑2 天前
从一次分表实践谈起:我们真的需要复杂的分布式ID吗?
分布式·后端·面试
武子康2 天前
大数据-99 Spark Streaming 数据源全面总结:原理、应用 文件流、Socket、RDD队列流
大数据·后端·spark
AAA修煤气灶刘哥2 天前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
阿里云大数据AI技术2 天前
大数据公有云市场第一,阿里云占比47%!
大数据
Lx3522 天前
Hadoop容错机制深度解析:保障作业稳定运行
大数据·hadoop
Aomnitrix3 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
程序消消乐3 天前
Kafka 入门指南:从 0 到 1 构建你的 Kafka 知识基础入门体系
分布式·kafka