微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

纱线上的哪个目录触发应用程序将其日志输出到?每个节点中的 spark.eventLog.dir 或 var/log/?

如何解决纱线上的哪个目录触发应用程序将其日志输出到?每个节点中的 spark.eventLog.dir 或 var/log/?

我正在构建一个日志分析计划来监控纱线集群上的火花作业,我想清楚地了解火花/纱线日志记录。 我对此进行了大量搜索,这些是我的困惑。

  1. spark.eventLog.dir 或 spark.history.fs.logDirectory 中指定的目录被存储所有 应用程序主日志并通过 spark conf 中的 log4j.properties 我们可以自定义这些日志?

  2. 认情况下,所有数据节点都将其执行程序日志输出到 /var/log/ 中的文件夹。启用日志聚合后,您还可以将这些执行器日志发送到 spark.eventLog.dir 位置吗?

我设法建立了一个 3 节点的虚拟 hadoop yarn 集群,spark 安装在主节点上。当我在客户端模式下运行 spark 时,我认为这个节点将成为应用程序主节点。 我是大数据的初学者,感谢任何帮助我解决这些困惑的努力。

解决方法

Spark log4j 日志记录写入 Yarn 容器标准错误日志。这些目录由 yarn.nodemanager.log-dirs 配置参数控制(EMR 上的默认值为 /var/log/hadoop-yarn/containers)。

spark.eventLog.dir 仅由 Spark History Server 用于在作业完成后显示 Web UI。此处,Spark 写入 events that encode the information displayed in the UI to persisted storage)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。