我在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 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我对这两个日志目录都有读、写和执行权限。
发布于 2019-05-02 15:48:23
spark.eventLog.dir和spark.history.fs.logDirectory的目录应该相同。
在文档中,spark.eventLog.dir是日志基目录:
如果spark.eventLog.enabled为true,则记录
事件的Spark基目录。在这个基本目录中,Spark为每个应用程序创建一个子目录,并在此目录中记录特定于该应用程序的事件...
当spark.history.fs.logDirectory配置历史服务器用来读取日志的目录时:
对于文件系统历史记录提供程序,是指包含要加载的应用程序事件日志的目录的
。
找不到任何已完成的作业的原因是历史服务器读取了一个空目录。
发布于 2019-07-19 20:11:43
所有有问题的设置都保持不变,我需要添加-
在提交spark应用程序或在intelliji中的or选项中配置-Dspark.history.fs.logDirectory=file:///C:/sparkhistorylogs -Dspark.eventLog.dir=file:///C:/sparkhistorylogs时配置Dspark.eventLog.enabled=true。
我错过了上面的步骤,因此历史服务器没有显示已完成的作业。现在,我可以通过https://localhost:18080上的历史服务器访问已完成作业的信息
https://stackoverflow.com/questions/55947374
复制相似问题