通过Spark UI 定位任务失败原因

适用模块

spark
任务运维中心

具体说明

通过在SparkUI查看Spark程序运行的详细信息(各阶段耗时等),从而进行任务针对性调优等操作

使用示例

一、点击猛犸平台日志中的app_id,跳转至SparkUIYarn,可以查看完整的日志信息

INFO-通过Spark UI 定位任务失败原因 - 图1

二、跳转可能有多种不同的情况:

1、直接跳转:

跳转至SparkUI界面:
正在运行中的Spark程序,点击app_id,会直接跳转到SparkUI

跳转至Sparkhistory界面:
运行结束的Spark程序,点击app_id,会跳转至Sparkhistory页面

跳转至Yarn界面:

INFO-通过Spark UI 定位任务失败原因 - 图2

若点击history无法直接跳转到sparkhistory,则手动修改一下浏览器地址进行跳转:
将原yarn连接:https://hadoop.hz.netease.com/gateway/hz-cluster11/yarn/cluster/app/application_1588827854861_1834202
修改为:
sparkhistory地址:https://hadoop.hz.netease.com/gateway/hz-cluster11/sparkhistory/
Sparkhistory界面搜索app_id即可
三、在SparkUI页面排错

task失败信息中查看 job  --  stage -- task

a. 进入失败的job中,查看各个stage的详情
![](/documents/uploads/projects/mammut_troubleshooting/165db9d691a6ebf1.png)

b. 进入失败的stage中查看各个task详情,也可在旁边直接预览失败信息

INFO-通过Spark UI 定位任务失败原因 - 图3

c. 查看task详情

INFO-通过Spark UI 定位任务失败原因 - 图4

task失败的信息不够详细,可以查看driverexecutor的日志
a. 直接查看失败的task所在的executor的详细日志

INFO-通过Spark UI 定位任务失败原因 - 图5

b. 查看driverexecutors的详细日志

INFO-通过Spark UI 定位任务失败原因 - 图6


作者:林帅