写点什么

查看 Spark 任务的详细信息

作者:程序员欣宸
  • 2022-10-31
    广东
  • 本文字数:1201 字

    阅读完需:约 4 分钟

查看Spark任务的详细信息

欢迎访问我的 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 truespark.eventLog.dir hdfs://node0:8020/var/log/sparkspark.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。

欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...


发布于: 刚刚阅读数: 3
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018-04-19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
查看Spark任务的详细信息_大数据_程序员欣宸_InfoQ写作社区