首页 > 解决方案 > Spark History 服务器未列出已完成的 jar

问题描述

我在 Windows 中运行 Spark 独立作业。我想使用 spark 历史服务器监控我的 Spark 作业。我已经使用以下命令启动了 spark 历史服务器,并且历史服务器已成功启动。

C:\Users\Documents\Prev_D_Folder\Softwares\Softwares\spark-2.2.0-bin-hadoop2.7\spark-2.2.0-bin-hadoop2.7\spark-2.2.0-bin-hadoop2.7\bin>spark-class.cmd org.apache.spark.deploy.history.HistoryServer

在此处输入图像描述

我在本地运行了 spark 作业,但历史服务器没有列出任何已完成的作业。

我的 spark-defaults.conf 文件内容是:

spark.eventLog.enabled           true
spark.eventLog.dir               file:///C:/Users/m1047320/Documents/logs
spark.history.provider = org.apache.spark.deploy.history.FsHistoryProvider
spark.history.fs.logDirectory   file:///C:/Users/m1047320/Documents/logs-hist

我对两个日志目录都有读、写和执行权限。

标签: apache-sparkloggingconfigurationmonitoring

解决方案


spark.eventLog.dir和的目录spark.history.fs.logDirectory应该相同。

从文档中,spark.eventLog.dir是日志基目录:

如果 spark.eventLog.enabled 为 true,则记录 Spark 事件的基本目录。在此基本目录中,Spark 为每个应用程序创建一个子目录,并在此目录中记录特定于应用程序的事件 [...]

spark.history.fs.logDirectory配置历史服务器用于读取日志的目录时:

对于文件系统历史提供程序,指向包含要加载的应用程序事件日志的目录的 URL。

您找不到任何已完成作业的原因是由于历史服务器读取了一个空目录。


推荐阅读