Job History Server ,是一个独立的进程,Spark集群可以不启动
1、以复制的方式,创建spark-defaults.conf文件
[victor@node1 conf]$ cp spark-defaults.conf.template spark-defaults.conf
2、编辑 spark-default.conf
[victor@node1 spark]$ vim conf/spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node1:9000/directory
spark.eventLog.compress true
尖叫提示:HDFS上directory目录没有需要提前创建
[victor@node1 hadoop-2.8.2]$ hadoop fs -mkdir /directory
3、编辑spark-env.sh
[victor@node1 spark]$ vim conf/spark-env.sh
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://node1:9000/directory"
参数描述:
spark.eventLog.dir:Application在运行过程中所有的信息均记录在该属性指定的路径下;
spark.history.ui.port=4000 调整WEBUI访问的端口号为4000
spark.history.fs.logDirectory=hdfs://node1:9000/directory 配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息
spark.history.retainedApplications=3 指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
4、将配置好的Spark文件同步到其他节点上
[victor@node1 spark]$ rsync -rvl conf/ victor@node2:/opt/module/conf/
[victor@node1 spark]$ rsync -rvl conf/ victor@node3:/opt/module/conf/
5、启动
启动HDFS
[victor@node1 hadoop-2.8.2]$ sbin/start-dfs.sh
**尖叫提示:如果配置了****Job History Server****,需要在****Job History Server****之前启动****HDFS**
启动spark
[victor@node1 spark]$ sbin/start-all.sh
启动Job History Server
[victor@node1 spark]$ sbin/start-history-server.sh
尖叫提示:如果遇到Hadoop的HDFS写入权限问题:“org.apache.hadoop.security.AccessControlException”
在hdfs-site.xml中添加关闭权限验证配置
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
6、web 访问
http://node1:4000/