返回介绍

为集群配置 Spark-History-Server

发布于 2025-03-08 13:02:48 字数 2149 浏览 0 评论 0 收藏 0

  • 修改 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文