我已部署了安装了Spark 2.1的新HDInsight 3.6群集。我之前使用过Spark 1.6的HDInsight 3.5群集。
在这个新群集上,我无法从Spark UI访问执行程序日志。通常,在我之前的(3.5 / 1.6)群集中,我已转到Executors
选项卡,然后单击stderr
以获取来自单个执行程序的stdout日志。
可能导致此问题的配置是什么,或者是否有解决方法?我提交了一个pyspark应用程序,如果它有所作为。谢谢!
答案 0 :(得分:2)
我们最近遇到了同样的问题,我们使用以下命令通过SSH将日志下载到文件系统:
yarn logs -applicationId <Application ID> -out <path_to_local_folder>
更多信息here。
然后我们使用WinSCP从VM下载日志并在那里进行分析。
以下是WinSCP的外观:
下载这些文件,可能会拆分它们,然后您可以对它们进行分析。
答案 1 :(得分:0)
您可以从应用程序视图访问日志文件,您可以进一步深入查找与应用程序和日志关联的容器(stdout / stderr)。您还可以通过单击跟踪URL对应的链接来启动Spark UI,如下所示。
单击执行程序选项卡以查看每个执行程序的处理和存储信息。您还可以通过单击线程转储链接来检索调用堆栈。
答案 2 :(得分:0)
如果您在没有SSH隧道的情况下访问Spark UI,则可能是URL重写问题。尝试刷新页面,或关闭/重新打开浏览器窗口。
或者,如果错误仍然存在,您可以使用SSH隧道连接到Spark UI。请参阅此文档,了解如何使用SSH隧道进行连接:https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-linux-ambari-ssh-tunnel