查看作业运行状态

计算引擎作业提交成功后,您可以通过SparkUI界面或者HDFS Shell工具查看作业运行状态。

前提条件

  • 已开通云原生多模数据库 Lindorm实例的计算引擎服务,具体操作请参见开通与变配

  • 已将客户端IP地址添加至云原生多模数据库 Lindorm实例的白名单,具体操作请参见设置白名单

通过SparkUI界面查看作业运行状态

通过SparkUI界面可以查看Spark作业运行状态。

说明
  • 当计算引擎作业状态为运行中时,才可以通过SparkUI界面查看作业运行状态。

  • 查看已完成的Spark作业需要开通History Server,具体请参见查看作业运行历史

  • SparkUI界面介绍请参见查看作业运行信息

  1. 登录Lindorm管理控制台

  2. 实例列表页,单击目标实例ID。

  3. 在左侧导航栏,选择计算引擎 > 作业列表,可以查看正在运行的计算引擎作业。

  4. 单击需要查看计算引擎作业的WebUI地址,通过宽表引擎用户名和密码登录SparkUI。

    说明

    宽表引擎默认用户名和密码的获取方式:在数据库连接页面,单击宽表引擎页签,复制默认用户名及密码。

  5. 在顶部菜单栏单击Executors,查看运行中的计算引擎作业和所有的Executor。

    image.png

  6. Executors列表中,单击Logs列的stdoutstderr查看运行日志,单击Thread Dump列查看线程堆栈信息,单击System Status Dump列查看Executor系统状态信息。

    说明
    • 单击stdout可以查看标准输出日志。

    • 单击stderr可以查看标准错误输出日志。

通过HDFS Shell工具查看作业运行日志

计算引擎作业的运行日志会被系统同步并存储至底层的文件引擎中,如果需要查看的计算引擎作业中断,您可以开通云原生多模数据库 Lindorm文件引擎,并使用HDFS Shell工具查看作业的运行日志。

重要
  • 建议您在提交JAR作业时,在Main函数开始时初始化SparkSession对象,避免部分异常运行日志无法同步至文件引擎中。

  • 如果Lindorm实例的计算引擎服务规模较大,计算引擎作业运行日志可能给DFS造成较大的压力。您可以在计算引擎作业启动参数中配置spark.dfsLog.executor.enabled=false,该参数指定Executor日志不保存至DFS,而计算引擎作业Driver运行日志的收集不会受到影响。

  1. 登录Lindorm管理控制台

  2. 实例列表页,单击目标实例ID。

  3. 在左侧导航栏,选择计算引擎 > 作业列表,在作业页面获取JobId,例如:562f7c98-2a66-****,如下图所示。

    获取APPID

  4. 使用HDFS Shell工具查看日志,HDFS Shell工具的配置方法请参见通过HDFS Shell连接并使用文件引擎

  5. 计算引擎作业的日志存储目录为/ldspark/ldspark-logs/${JobId},Driver日志存储目录为__driver_logs__,Executor日志存储目录为__executor_logs__/${EXECUTOR_ID}。以查看Driver的stderr运行日志为例,请执行以下语句:

    $HADOOP_HOME/bin/hadoop fs -cat  /ldspark/ldspark-logs/${JobId}/__driver_logs__/stderr | less
    说明

    您也可以通过FUSE客户端将文件引擎目录挂载至ECS进行访问,具体操作请参见通过HDFS FUSE连接并使用文件引擎