spark的standalone模式下:查看任务结束后的历史记录

摘要:
spark程序运行完毕后,就再无法通过4040端口看到什么了。今天我们通过修改spark的一些配置文件,使得我们的程序运行结束后,依然能够查看,并且通过WEBUI页面,可以看到一些详细内容,这对于我们的优化也有很大帮助。能够实现这个功能的就是HistoryServer服务。下面我提交一个wordcount案例:hadoop@master:/usr/local/spark/spark-2.4.7/bin$./spark-submit--masterspark://master:7077--classspark.WordCount--total-executor-cores6/home/hadoop/sparkmvn-1.0-SNAPSHOT.jar运行成功后,就可以显示出来了。

我想说4040端口太坑了,我运行wodcount案例,时间那么短,想去4040里查看任务具体运行情况,根本不可能。spark程序运行完毕后,就再无法通过4040端口看到什么了。今天我们通过修改spark的一些配置文件,使得我们的程序运行结束后,依然能够查看,并且通过WEBUI页面,可以看到一些详细内容,这对于我们的优化也有很大帮助。能够实现这个功能的就是HistoryServer服务。

1、首先关闭还在启动中的spark服务(如果是关闭状态,直接下一步)

hadoop@master:/usr/local/spark/spark-2.4.7/sbin$ ./stop-all.sh

2、首先创建spark-defaults.conf配置文件(所有节点都要更改),然后在HDFS文件系统上创建一个文件夹(只在master机器上创建)

#2.1重命名
hadoop@master:/usr/local/spark/spark-2.4.7/conf$ mv spark-defaults.conf.template spark-defaults.conf
hadoop@master:/usr/local/spark/spark-2.4.7/conf$ ll
total 48
-rw-r--r-- 1 hadoop hadoop  996 Sep  8 14:47 docker.properties.template
-rw-r--r-- 1 hadoop hadoop 1105 Sep  8 14:47 fairscheduler.xml.template
-rw-r--r-- 1 hadoop hadoop 2025 Sep  8 14:47 log4j.properties.template
-rw-r--r-- 1 hadoop hadoop 7801 Sep  8 14:47 metrics.properties.template
-rw-r--r-- 1 hadoop hadoop  878 Dec 13 13:38 slaves
-rw-r--r-- 1 hadoop hadoop  865 Sep  8 14:47 slaves.template
-rw-r--r-- 1 hadoop hadoop 1292 Sep  8 14:47 spark-defaults.conf
-rwxr-xr-x 1 hadoop hadoop 5148 Jan 26 09:35 spark-env.sh
-rwxr-xr-x 1 hadoop hadoop 4221 Sep  8 14:47 spark-env.sh.template
#2.2在HDFS文件系统上创建一个文件夹
hadoop@master:/usr/local/spark/spark-2.4.7/conf$ hdfs dfs -mkdir /spark-job-log
21/01/27 14:04:15 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

结果如下图:
spark的standalone模式下:查看任务结束后的历史记录第1张
3、在spark-defaults.conf文件中, 添加如下内容:(所有节点都要更改)

hadoop@master:/usr/local/spark/spark-2.4.7/conf$ vim spark-defaults.conf
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:9000/spark-job-log

spark的standalone模式下:查看任务结束后的历史记录第2张
:wq (保存退出)

4、 修改spark-env.sh文件,添加如下配置(所有节点都要更改)

hadoop@master:/usr/local/spark/spark-2.4.7/conf$ vim spark-env.sh 

添加下面这句:

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://master:9000/spark-job-log"
spark的standalone模式下:查看任务结束后的历史记录第3张
参数说明:

参数描述:

spark.eventLog.dir:Application在运行过程中所有的信息均记录在该属性指定的路径下;

spark.history.ui.port=18080 WEBUI访问的端口号为18080

spark.history.fs.logDirectory=hdfs://hadoop002:9000/spark-job-log 配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息

spark.history.retainedApplications=30指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

4、验证

#启动spark集群:
hadoop@master:/usr/local/spark/spark-2.4.7/sbin$ ./start-all.sh
#启动历史服务
hadoop@master:/usr/local/spark/spark-2.4.7/sbin$ ./start-history-server.sh 
starting org.apache.spark.deploy.history.HistoryServer, logging to /usr/local/spark/spark-2.4.7/logs/spark-hadoop-org.apache.spark.deploy.history.HistoryServer-1-master.out
hadoop@master:/usr/local/spark/spark-2.4.7/sbin$ jps
4113 HistoryServer
4003 Master
1364 SecondaryNameNode
1142 NameNode
4158 Jps
hadoop@master:/usr/local/spark/spark-2.4.7/sbin$ 

master节点jps之后会出现HistoryServer,但是其他slave节点并不会有HistoryServer

下面开始激动人心的时刻啦!

登录WEB页面,输入: IP:18080(这里的IP是指你的master机器的公网IP)

他出来了!!!
spark的standalone模式下:查看任务结束后的历史记录第4张
下面我提交一个wordcount案例:

hadoop@master:/usr/local/spark/spark-2.4.7/bin$ ./spark-submit --master spark://master:7077 --class spark.WordCount --total-executor-cores 6  /home/hadoop/sparkmvn-1.0-SNAPSHOT.jar 

运行成功后,就可以显示出来了。
spark的standalone模式下:查看任务结束后的历史记录第5张
点击APP ID,就到了和4040端口页面一样的了。下面愉快的分析,并进行优化。
spark的standalone模式下:查看任务结束后的历史记录第6张

参考链接:https://cloud.tencent.com/developer/article/1733763

免责声明:文章转载自《spark的standalone模式下:查看任务结束后的历史记录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇新机器下git clone代码新思路localStorage 设置过期时间下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Eclipse环境搭建并且运行wordcount程序

一、安装Hadoop插件   1. 所需环境 hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linux环境下运行的eclipse软件压缩包,解压后文件名为eclipsehadoop2x-eclipse-plugin-master.zip 在eclipse中...

Hadoop集群的hbase介绍、搭建、环境、安装

1、hbase的介绍(自行百度hbase,比我总结的全面具体) HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系...

软件架构自学笔记----分享“去哪儿 Hadoop 集群 Federation 数据拷贝优化”

去哪儿 Hadoop 集群 Federation 数据拷贝优化 背景 去哪儿 Hadoop 集群随着去哪儿网的发展一直在优化改进,基本保证了业务数据存储量和计算量爆发式增长下的存储服务质量。然而,随着集群规模的发展,单组 NameNode 组成的集群也到达了新的瓶颈:因为 NameNode 内存使用和元数据量正相关,在 180GB 堆内存配置下,元数据量...

Spark History Server配置使用

Spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息;但该WEBUI随着Application的完成(成功/失败)而关闭,也就是说,Spark Application运行完(成功/失败)后,将无法查看Application...

Windows环境下安装Hadoop+Hive的使用案例

 正文前先来一波福利推荐: 福利一: 百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。 福利二: 毕业答辩以及工作上各种答辩,平时积累了不少精品PPT,现在共享给大家,大大小小加起来有几千套,总有适合你的一款,很多是网上是下载不到。 获取方式: 微信关注 精品3分钟...

Elasticsearch之插件介绍及安装

ES站点插件(以网页形式展现)   1、BigDesk Plugin (作者 Lukáš Vlček)     简介:监控es状态的插件,推荐!【目前不支持2.x】   2、Elasticsearch Head Plugin (作者 Ben Birch) (主要)     简介:很方便对es进行各种操作的客户端。   3、kopf Plugin(作者lme...