当我在查看正在运行的Spark应用程序(我们的应用程序在客户端模式下的Hadoop / Yarn集群上运行)时重新加载浏览器窗口时,我们的Spark Web UI(从Yarn UI或Spark History Server访问时)不再更新。这以前可以在Spark 1.5.2上使用,但是在我们升级到HDP 2.6.4(因此是Spark 1.6.3和Spark 2.2.0)之后,我现在必须等待应用程序完成才能更新Web UI(对于两者1.6.3和2.2.0)。
似乎,当我第一次在Spark Web UI中查看某个应用程序时,便获得了当前状态。但是在那之后刷新浏览器窗口不会显示任何更新。只有在应用程序完成后,刷新浏览器才会显示所有更改。通常,它显示最终状态,但有时甚至不显示最终状态。
Spark UI示例屏幕快照:(显然,当应用程序处于第41阶段时,我首先加载了该页面。刷新该浏览器后,该应用程序运行时未显示任何更新/更改。当该应用程序完成后,重新加载浏览器显示了最终状态- -ie,所有阶段都完成了。)
我们在Ambari中将spark.history.fs.update.interval
设置为10s
,希望可能与此相关。这似乎没有帮助。我查看了运行历史记录服务器的主节点,看来Ambari更改已推出:
# pwd
/usr/hdp/current
# grep -R "spark.history.fs.update.interval" *
spark-client/conf/spark-defaults.conf:spark.history.fs.update.interval 10s
spark-historyserver/conf/spark-defaults.conf:spark.history.fs.update.interval 10s
spark-thriftserver/conf/spark-defaults.conf:spark.history.fs.update.interval 10s
另一个(我认为直接相关)的问题:从Yarn / RM UI中,单击正在运行的Spark App的“ ApplicationMaster”链接只是挂起了-Spark UI不显示。 (我必须转到Spark History服务器URL才能查看正在运行的(“不完整”)应用程序,然后从该位置单击应用程序ID链接,即可转到正在运行的应用程序的Spark UI。但是如上所述,应用运行时,Spark UI不会更新应用状态。) Spark应用程序完成后,在RM UI中单击该应用程序的“历史记录”链接,将弹出Spark UI。
答案 0 :(得分:1)
通过driver_ip:port直接打开Spark UI,它非常快速地更新信息。 相反,Spark History Server从hdfs读取json文件(驱动程序正在写入该文件),并检查它是否每隔10s更新一次并分析新事件。
Spark History Server通常用于查看已完成的作业。