前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >查看Spark任务的详细信息

查看Spark任务的详细信息

作者头像
程序员欣宸
发布2019-10-22 14:12:36
2.8K0
发布2019-10-22 14:12:36
举报
文章被收录于专栏:实战docker实战docker

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

代码语言:txt
复制
                 本文链接:[https://blog.csdn.net/boling\_cavalry/article/details/102291920](https://blog.csdn.net/boling_cavalry/article/details/102291920) 

在学习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集群环境,并且计算任务也准备好了。

观察运行时任务信息

  1. 例如通过执行以下命令启动了一个spark任务:
代码语言:javascript
复制
~/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

此时控制台会有以下提示:

代码语言:javascript
复制
2019-10-07 11:03:54 INFO  SparkUI:54 - Bound SparkUI to 0.0.0.0, and started at http://node0:4040
  1. 此时用浏览器访问master机器的4040端口,可见信息如下图所示,事件、DAG、stage都有:
  1. 点击上图中stage的"Description",即可见到该stage下的所有task信息:
  1. job运行完成后,控制台有以下信息输出,此时再访问4040端口的webUI服务,发现已经不可访问了:
代码语言:javascript
复制
2019-10-07 11:45:29 INFO  SparkUI:54 - Stopped Spark web UI at http://node0:4040

观察历史任务

job结束后,4040端口提供的webUI服务也停止了,想回看已结束的任务信息需要配置和启动历史任务信息服务:

  1. 打开配置文件spark-2.3.2-bin-hadoop2.7/conf/spark-defaults.conf,增加以下三个配置:
代码语言:javascript
复制
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node0:8020/var/log/spark
spark.eventLog.compress true

上述配置中,hdfs://node0:8020是hdfs的服务地址。

  1. 打开配置文件spark-env.sh,增加以下一个配置:
代码语言:javascript
复制
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的服务地址。

  1. 在hdfs的namenode执行以下命令,提前创建好日志文件夹:
代码语言:javascript
复制
~/hadoop-2.7.7/bin/hdfs dfs -mkdir -p var/log/spark
  1. 启动历史任务服务:
代码语言:javascript
复制
~/spark-2.3.2-bin-hadoop2.7/sbin/start-history-server.sh
  1. 此后执行的spark任务信息都会保存下来,访问master机器的18080端口,即可见到所有历史任务的信息,点击查看详情,和前面的运行时任务的内容是一样的:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境信息
  • 参考文档(准备环境用到)
  • 观察运行时任务信息
  • 观察历史任务
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档