- 复制spark.default.conf.template到spark.default.conf
- 将以下内容添加到spark.default.conf中
spark.eventLog.enabled true
spark.eventLog.dir hdfs://namenode:8021/directory - 修改spark.env.sh
spark.eventLog.dir:Application 在运行过程中所有的信息均记录在该属性export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://namenode:8021/directory"
指定的路径下;
spark.history.ui.port=4000 调整 WEBUI 访问的端口号为 4000
spark.history.fs.logDirectory=hdfs://master01:9000/directory 配 置 了 该 属性后,在 start-history-server.sh 时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息spark.history.retainedApplications=3 指定保存 Application 历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。 - 将所有修改文件同步其他节点
- 在master上启动集群,在master上启动日志服务器(sbin/start-history-server.sh),在4000端口可查
如果遇到 Hadoop HDFS 的写入权限问题:
org.apache.hadoop.security.AccessControlException
解决方案: 在 hdfs-site.xml 中添加如下配置,关闭权限验证
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>