查看Spark任务的详细信息

简介: 在学习Spark的过程中,查看任务的DAG、stage、task等详细信息是学习的重要手段,在此做个小结

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos
  • 在学习Spark的过程中,查看任务的DAG、stage、task等详细信息是学习的重要手段,在此做个小结;

环境信息

  • 本文对应的环境信息如下:
  1. CentOS Linux release 7.5.1804
  2. JDK:1.8.0_191
  3. hadoop:2.7.7
  4. spark:2.3.2

参考文档(准备环境用到)

  • 搭建hadoop、spark、运行耗时任务,请参考以下文章:
  1. 部署hadoop:《Linux部署hadoop2.7.7集群》
  2. on Yarn模式部署Spark集群:《部署Spark2.2集群(on Yarn模式)》
  3. 开发一个比较耗时的计算任务:《spark实战之:分析维基百科网站统计数据(java版)》
  • 经过以上准备,我们就有了一个可以用的Spark集群环境,并且计算任务也准备好了。

观察运行时任务信息

  • 例如通过执行以下命令启动了一个spark任务:
~/spark-2.3.2-bin-hadoop2.7/bin/spark-submit \
--class com.bolingcavalry.sparkdemo.app.WikiRank \
--executor-memory 2g \
--total-executor-cores 4 \
/home/hadoop/jars/sparkdemo-1.0-SNAPSHOT.jar \
192.168.121.150 \
8020
  • 此时控制台会有以下提示:
2019-10-07 11:03:54 INFO  SparkUI:54 - Bound SparkUI to 0.0.0.0, and started at http://node0:4040
  • 此时用浏览器访问master机器的4040端口,可见信息如下图所示,事件、DAG、stage都有:

在这里插入图片描述

  • 点击上图中stage的"Description",即可见到该stage下的所有task信息:

在这里插入图片描述

  • job运行完成后,控制台有以下信息输出,此时再访问4040端口的webUI服务,发现已经不可访问了:
2019-10-07 11:45:29 INFO  SparkUI:54 - Stopped Spark web UI at http://node0:4040

观察历史任务

  • job结束后,4040端口提供的webUI服务也停止了,想回看已结束的任务信息需要配置和启动历史任务信息服务:
  • 打开配置文件spark-2.3.2-bin-hadoop2.7/conf/spark-defaults.conf,增加以下三个配置:
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node0:8020/var/log/spark
spark.eventLog.compress true
  • 上述配置中,hdfs://node0:8020是hdfs的服务地址。
  • 打开配置文件spark-env.sh,增加以下一个配置:
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://node0:8020/var/log/spark"
  • 上述配置中,hdfs://node0:8020是hdfs的服务地址。
  • 在hdfs的namenode执行以下命令,提前创建好日志文件夹:
~/hadoop-2.7.7/bin/hdfs dfs -mkdir -p /var/log/spark
  • 启动历史任务服务:
~/spark-2.3.2-bin-hadoop2.7/sbin/start-history-server.sh
  • 此后执行的spark任务信息都会保存下来,访问master机器的18080端口,即可见到所有历史任务的信息,点击查看详情,和前面的运行时任务的内容是一样的:

在这里插入图片描述

  • 至此,运行时和历史任务的job详情都可以观察到了,可以帮助我们更好的学习和研究spark。

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
27天前
|
存储 缓存 分布式计算
Spark任务OOM问题如何解决?
大家好,我是V哥。在实际业务中,Spark任务常因数据量过大、资源分配不合理或代码瓶颈导致OOM(Out of Memory)。本文详细分析了各种业务场景下的OOM原因,并提供了优化方案,包括调整Executor内存和CPU资源、优化内存管理策略、数据切分及减少宽依赖等。通过综合运用这些方法,可有效解决Spark任务中的OOM问题。关注威哥爱编程,让编码更顺畅!
158 3
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何开发ODPS Spark任务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
37 5
|
2月前
|
SQL 机器学习/深度学习 分布式计算
Spark适合处理哪些任务?
【9月更文挑战第1天】Spark适合处理哪些任务?
132 3
|
5月前
|
分布式计算 运维 Serverless
EMR Serverless Spark PySpark流任务体验报告
阿里云EMR Serverless Spark是一款全托管的云原生大数据计算服务,旨在简化数据处理流程,降低运维成本。测评者通过EMR Serverless Spark提交PySpark流任务,体验了从环境准备、集群创建、网络连接到任务管理的全过程。通过这次测评,可以看出阿里云EMR Serverless Spark适合有一定技术基础的企业,尤其是需要高效处理大规模数据的场景,但新用户需要投入时间和精力学习和适应。
7179 43
EMR Serverless Spark PySpark流任务体验报告
|
3月前
|
存储 分布式计算 供应链
Spark在供应链核算中应用问题之通过Spark UI进行任务优化如何解决
Spark在供应链核算中应用问题之通过Spark UI进行任务优化如何解决
|
4月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
387 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
4月前
|
分布式计算 运维 Serverless
EMR Serverless Spark 实践教程 | 通过 EMR Serverless Spark 提交 PySpark 流任务
在大数据快速发展的时代,流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台,它不仅简化了实时数据处理流程,还免去了服务器管理的烦恼,提升了效率。本文将指导您使用EMR Serverless Spark提交PySpark流式任务,展示其在流处理方面的易用性和可运维性。
262 7
EMR Serverless Spark 实践教程 | 通过 EMR Serverless Spark 提交 PySpark 流任务
|
3月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
193 0
|
5月前
|
弹性计算 分布式计算 DataWorks
DataWorks产品使用合集之spark任务如何跨空间取表数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
39 1