在测试过程中,您会发现错误参数配置容易导致Spark作业异常情况出现。本文介绍如何通过Spark UI和ACK Spark History Server查看作业执行情况和排查问题。
访问Spark UI
任务运行过程中,可以通过Spark UI实时看到每个SQL的执行情况。操作步骤如下。
- 执行命令kubectl get services。

其中tpcds-query-runner-with-alluxio-ui-svc即Spark UI对应的Service。
- 执行以下命令在本地访问Spark UI页面。
kubectl port-forward service/tpcds-query-runner-with-alluxio-ui-svc 4040:4040
输出以下内容。

- 在浏览器中输入localhost:4040查看Spark UI中的任务执行情况。

访问ACK Spark History Server
任务结束后,如果想看到历史数据,可以采用以下操作方式。
- 执行以下命令,获取SparkApplication任务ID。
kubectl get sparkapplication tpcds-query-runner-with-alluxio -o yaml
sparkApplicationId信息显示如下图。

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