在测试过程中,您会发现错误参数配置容易导致Spark作业异常情况出现。本文介绍如何通过Spark UI和ACK Spark History Server查看作业执行情况和排查问题。

前提条件

分析测试结果

访问Spark UI

任务运行过程中,可以通过Spark UI实时看到每个SQL的执行情况。操作步骤如下。

  1. 执行命令kubectl get servicesservice SQL
    其中tpcds-query-runner-with-alluxio-ui-svc即Spark UI对应的Service。
  2. 执行以下命令在本地访问Spark UI页面。
    kubectl port-forward service/tpcds-query-runner-with-alluxio-ui-svc 4040:4040
    输出以下内容。localhost
  3. 在浏览器中输入localhost:4040查看Spark UI中的任务执行情况。spark ui

访问ACK Spark History Server

任务结束后,如果想看到历史数据,可以采用以下操作方式。

  1. 执行以下命令,获取SparkApplication任务ID。
    kubectl get sparkapplication tpcds-query-runner-with-alluxio -o yaml
    sparkApplicationId信息显示如下图。ID
  2. 执行以下命令获取ACK Spark History Server的endpoint。
    kubectl get service ack-spark-history-server 
    eternal ip
  3. 在浏览器中输入EXTERNAL-IP类型IP(39.XX.XX.XXX)和端口。
    您可以看到所有Spark任务的历史数据,再通过步骤一中获取的sparkApplicationId信息找到对应记录,即可查看作业执行情况和排查问题。