Spark配置Job History Server

PS:在运行Spark应用程序的时候,driver会提供一个webUI给出应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口,也就是 说,Spark应用程序运行完后,将无法查看应用程序的历史记录。Spark history server就是为了应对这种情况而产生的,通过配置,Spark应用程序在运行完应用程序之后,将应用程序的运行信息写入指定目录,而Spark history server可以将这些运行信息装载并以web的方式供用户浏览。

 

配置Job History Server

1.启动HDFS并创建directory目录

#start-dfs.sh

#hdfs dfs -mkdir /directory

2.进入到spark安装目录conf目录下

#cd /opt/software/spark-2.2.0-bin-hadoop2.7/conf

3.将spark-default.conf.template复制为spark-default.conf

#mv spark-defaults.conf.template spark-defaults.conf
#vi spark-defaults.conf    在文件的末尾添加
spark.eventLog.enabled true    开启日志
spark.eventLog.dir hdfs://hadoop01:8020/directory   存储路径
spark.eventLog.compress true   是否压缩


参数描述:
spark.eventLog.dir:Application在运行过程中所有的信息均记录在该属性指定的路径下
spark.eventLog.compress 这个参数设置history-server产生的日志文件是否使用压缩,true为使用,false为不使用。这个参数务可以成压缩哦,不然日志文件岁时间积累会过

4.修改spark-env.sh文件,添加如下配置

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=hdfs://hadoop01:8020/directory"

 

  1. spark.history.ui.port=4000  调整WEBUI访问的端口号为4000
  2. spark.history.retainedApplications=10   指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
  3. spark.history.fs.logDirectory=hdfs://hadoop01:8020/directory  配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息

5.配置完成后分发文件到相应节点
scp -r ./spark-env.sh root@hadoop02:$PWD
scp -r ./spark-defaults.conf root@hadoop02:$PWD

ps:最好不要是用IE内核的浏览器不然效果是显示不出来的,启动的时候是
start-all.sh start-history-server.sh

 

posted @ 2019-12-12 14:22  Y歪  阅读(992)  评论(0编辑  收藏  举报