Apache spark 运行spark应用程序不会';无法在spark历史服务器上显示

Apache spark 运行spark应用程序不会';无法在spark历史服务器上显示,apache-spark,hadoop,Apache Spark,Hadoop,我正在创建一个长期运行的spark应用程序。创建spark会话并开始运行应用程序后,单击spark history server上的“显示未完成的应用程序”后,我无法看到它。但是,如果我强制关闭我的应用程序,我可以在“已完成的应用程序”页面下看到它 我已在客户端和服务器上正确配置spark参数,如下所示: spark.eventLog.enabled=true spark.eventLog.dir=hdfs://10.18.51.117:8020/history/ (我的spark历史服务器上的

我正在创建一个长期运行的spark应用程序。创建spark会话并开始运行应用程序后,单击spark history server上的“显示未完成的应用程序”后,我无法看到它。但是,如果我强制关闭我的应用程序,我可以在“已完成的应用程序”页面下看到它

我已在客户端和服务器上正确配置spark参数,如下所示: spark.eventLog.enabled=true

spark.eventLog.dir=hdfs://10.18.51.117:8020/history/ (我的spark历史服务器上的hdfs路径)

我还在服务器端配置了相同的配置。因此,配置不应该是一个问题(因为在我强制停止应用程序后,也可以显示已完成的应用程序)

你们对这种行为有什么想法吗

我查看spark history server上的hdfs文件,发现与我正在运行的应用程序关联的.inprogress文件非常小(接近空,请参见下图)。似乎只有当应用程序停止时,结果才会刷新到文件中,这对于我的长时间运行的应用程序来说并不理想……有没有任何方法或参数可以调整以强制刷新日志


这种行为也符合我的经验。有什么原因不能观看驱动程序本身提供的UI吗?默认情况下,它通常位于
http://:4040/
。@TravisHegner我试图使用spark web ui和4040端口来检查执行期间的状态,但在spark群集上运行时,它总是以某种方式给我一条“http错误500”错误消息。如果切换到本地模式(单节点),web UI开始工作。您也会遇到这种情况吗?您使用的是哪种群集管理器(Thread、Spark Standalone、Mesos)?@TravisHegner我使用的是Thread,部署模式是client在这种情况下,驱动程序UI实际上通过您的Thread资源管理器进行代理。如果您仔细观察,您的驱动程序正在将您重定向到资源管理器,您的500错误就来自于此。这通常发生在某些网络问题(无路由、防火墙等)阻止资源管理器访问端口4040处的驱动程序时。