本文十分的重要,希望对大家的spark学习有一些帮助:
1 引言:
在使用Spark
的时候,有时候我们会关注job
的历史日志,但是在Spark
中默认情况下,历史日志是关闭的,在本篇博客中主要介绍一下如何启动spark
的历史日志。
2 开启历史日志服务器
2.1 安装spark
参考
2.2 修改配置文件
1修改spark-default.conf
修改后的结果如图所示
- spark.eventLog.enabled true
- spark.eventLog.dir hdfs://linux102:9001/spark/jobhistory/logs
- spark.eventLog.compress true
当然,:HDFS上的目录需要提前存在
2 修改spark-env.sh文件
spark-env.sh
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000
-Dspark.history.retainedApplications=5
-Dspark.history.fs.logDirectory=hdfs://linux102:9001/spark/jobhistory/logs
3 参数描述:
spark.eventLog.dir:Application在运行过程中所有的信息均记录在该属性指定的路径下;
spark.history.ui.port=4000 调整WEBUI访问的端口号为4000
spark.history.fs.logDirectory=hdfs://linux102:9001/directory 配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息
注意:我这里修改了hdfs的端口号
spark.history.retainedApplications=3 指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
4 测试
将配置好的Spark文件拷贝到其他节点上
/opt/module/spark/sbin/start-all.sh
启动后执行:【别忘了启动HDFS】
/opt/module/spark/sbin/start-history-server.sh
到此为止,Spark History Server安装完毕.
如果遇到Hadoop HDFS的写入权限问题:
org.apache.hadoop.security.AccessControlException
解决方案: 在hdfs-site.xml中添加如下配置,关闭权限验证
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
5 当我们退出job,如果显示
就表示安装成功了