【问题标题】:View worker / executor logs in Spark UI since 1.0.0+从 1.0.0+ 起在 Spark UI 中查看 worker / executor 日志
【发布时间】:2015-02-11 02:30:06
【问题描述】:

在 0.9.0 中查看工作日志很简单,只需单击一下即可离开 spark ui 主页。

现在 (1.0.0+) 我找不到它们。此外,当我的工作崩溃时,Spark UI 停止工作!这很烦人,只有在您的应用程序不需要调试时才起作用的调试工具有什么意义。根据http://apache-spark-user-list.1001560.n3.nabble.com/Viewing-web-UI-after-fact-td12023.html,我需要找出我的master-url是什么,但我不知道,spark在启动时不会吐出这些信息,它说的是:

... -Dspark.master=\"yarn-client\" ...

显然http://yarn-client:8080 不起作用。一些网站谈论现在在 YARN 中查找日志是如何被超级混淆的——而不仅仅是在 UI 上,您必须登录到这些框才能找到它们。这肯定是一个大规模的回归,必须有一个更简单的方法??

我应该如何找出主 URL 是什么?如何找到我的工作人员(现在称为执行程序)日志?

【问题讨论】:

    标签: apache-spark hadoop-yarn


    【解决方案1】:

    根据您对 YARN NodeManager 日志聚合的配置,Spark 作业日志会自动聚合。运行时日志通常可以通过以下方式找到:

    Spark 主日志

    如果您使用的是 yarn-cluster,请转到 YARN Scheduler Web UI。您可以在那里找到 Spark Master 日志。职位描述页面的“日志”按钮给出了内容。

    使用 yarn-client,驱动程序在您的 spark-submit 命令中运行。那么你看到的是驱动日志,如果 log4j.properties 被配置为在 stderr 或 stdout 中输出。

    Spark 执行器日志

    在驱动程序日志中搜索“executorHostname”。有关详细信息,请参阅 cmets。

    【讨论】:

    • 请您扩展“在驱动程序日志中搜索“executorHostname”。”假设我找到了我的执行程序的主机名,我知道,然后我如何查看日志???
    • 检查位置:yarn.nodemanager.log-dirs:确定容器运行时容器日志在节点上的存储位置。默认为 ${yarn.log.dir}/userlogs。 hortonworks.com/blog/…
    • 是的,我知道我可以通过 ssh 进入每个盒子,找到实际文件并阅读它们。我想知道如何在 Web UI 中读取日志,就像在 0.9.0 中一样。让我 ssh 进入盒子以查找日志似乎是一个重大的回归。
    • 如果 yarn.nodemanager.log.log-dirs 在 yarn.log.dir 下,那么您通过 NomeManager 的 Web UI 读取日志的方式与读取 NodeManager 的日志相同。
    • 如何找到“NomeManager 的 Web UI”URL?我想我只需要问我的 DevOps 团队他们也配置了什么,对吗?或者有没有一种自助方式来找出一个可以 ssh 进入盒子的人?
    【解决方案2】:

    这些答案记录了如何从命令行或 UI 中找到它们

    Where are logs in Spark on YARN?

    对于 UI,在边缘节点上

    在 /etc/hadoop/conf/yarn-site.xml 中查找纱线资源管理器 URI (yarn.resourcemanager.webapp.address)。

    或者使用命令行:

    yarn logs -applicationId [OPTIONS]
    

    【讨论】:

      猜你喜欢
      • 2019-03-13
      • 2016-11-17
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多