我正在Windows中运行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 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
我对两个日志目录都有读取,写入和执行权限。
答案 0 :(得分:0)
spark.eventLog.dir
和spark.history.fs.logDirectory
的目录应该相同。
根据文档,spark.eventLog.dir
是日志基础目录:
如果spark.eventLog.enabled为true,则在其中记录Spark事件的基本目录。在此基本目录中,Spark为每个应用程序创建一个子目录,并将特定于该应用程序的事件记录在此目录中[...]
spark.history.fs.logDirectory
配置历史记录服务器用来读取日志的目录:
对于文件系统历史记录提供程序,指向要加载的包含应用程序事件日志的目录的URL。
找不到任何已完成作业的原因是由于历史记录服务器读取了一个空目录。
答案 1 :(得分:0)
所有有问题的设置与我需要添加的设置保持不变-
Dspark.eventLog.enabled = true -Dspark.history.fs.logDirectory = file:/// C:/ sparkhistorylogs -Dspark.eventLog.dir = file:/// C:/ sparkhistorylogs,同时提交Spark应用程序或配置在intelliji中的Vmoptions中。
我错过了上面的步骤,因此历史记录服务器未显示完成的作业。现在,我可以通过历史服务器https://localhost:18080
访问已完成工作的信息