文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
为集群配置 Spark-History-Server
- 修改 spark-defaults.conf 配置文件
$ cp spark-defaults.conf.template spark-defaults.conf
$ vi spark-defaults.conf
# 追加如下
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:9000/eventLogs
spark.eventLog.compress true
属性解释
- spark.eventLog.enabled:是否记录 Spark 事件,用于应用程序在完成后使用 web 界面查看
- spark.eventLog.dir:设置 spark.eventLog.enabled 为 true 后,该属性为记录 spark 时间的根目录。在此根目录中,Spark 为每个应用程序创建分目录,并将应用程序的时间记录到此目录中。用户可以将此属性设置为 HDFS 目录,以便 History Server 读取
- spark.eventLog.compress:否压缩记录 Spark 事件,前提 spark.eventLog.enabled 为 true,默认使用的是 snappy
修改 spark-env.sh 配置文件
# 追加
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://master:9000/eventLogs"
解释
- spark.history.ui.port:WebUI 的端口号。默认为 18080,也可以自行设置。
- spark.history.retainedApplications:设置缓存 Cache 中保存的应用程序历史记录的个数,默认 50,如果超过这个值,旧的将被删除。
注:缓存文件数不表示实际显示的文件总数。只是表示不在缓存中的文件可能需要从硬盘读取,速度稍有差别。
- spark.history.fs.logDirectory:存放历史记录文件的目录。可以是 Hadoop API 支持的任意文件系统
- 我看文档上这个目录和上面哪个目录可以是同一个
在 hdfs 上新建上述用来存储 spark 历史记录的文件夹
分别是 hdfs://master:9000/eventLogs
start-dfs.sh
hdfs dfs -mkdir /eventLogs
- 重启集群
start-all.sh
start-spark-all.sh
start-history-server.sh //就是这个进程在记录历史任务
再次查看进程,出现了 HistoryServer 进程
[hadoop@master conf]$ jps
3696 SecondaryNameNode
4162 Master
3515 NameNode
4283 Jps
4237 HistoryServer
浏览器下 http://master:18080 可查看
参考:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论