Spark应用程序运行的日志存在哪里(转)

摘要:
Spark日志的确切存储路径与部署模式有关:如果是Sparkstandalone模式,我们可以直接在MasterUI界面中查看应用程序日志。默认情况下,这些日志存储在工作节点的工作目录中,可以通过SPARK_worker_DIR参数进行访问。

原文链接:Spark应用程序运行的日志存在哪里

在很多情况下,我们需要查看driver和executors在运行Spark应用程序时候产生的日志,这些日志对于我们调试和查找问题是很重要的。

  Spark日志确切的存放路径和部署模式相关:
  (1)、如果是Spark Standalone模式,我们可以直接在Master UI界面查看应用程序的日志,在默认情况下这些日志是存储在worker节点的work目录下,这个目录可以通过SPARK_WORKER_DIR参数进行配置。

  (2)、如果是Mesos模式,我们同样可以通过Mesos的Master UI界面上看到相关应用程序的日志,这些日志是存储在Mesos slave的work目录下。

  (3)、如果是YARN模式,最简单地收集日志的方式是使用YARN的日志收集工具(yarn logs -applicationId ),这个工具可以收集你应用程序相关的运行日志,但是这个工具是有限制的:应用程序必须运行完,因为YARN必须首先聚合这些日志;而且你必须开启日志聚合功能(yarn.log-aggregation-enable,在默认情况下,这个参数是false)。

  如果你运行在YARN模式,你可以在ResourceManager节点的WEB UI页面选择相关的应用程序,在页面点击表格中Tracking UI列的ApplicationMaster,这时候你可以进入到Spark作业监控的WEB UI界面,这个页面就是你Spark应用程序的proxy界面,比如http://www.iteblog.com:9981/proxy/application_1430820074800_0322,当然你也可以通过访问Driver所在节点开启的4040端口,同样可以看到这个界面。

  到这个界面之后,可以点击Executors菜单,这时候你可以进入到Spark程序的Executors界面,里面列出所有Executor信息,以表格的形式展示,在表格中有Logs这列,里面就是你Spark应用程序运行的日志。如果你在程序中使用了println(....)输出语句,这些信息会在stdout文件里面显示;其余的Spark运行日志会在stderr文件里面显示。

  在默认情况下,Spark应用程序的日志级别是INFO的,我们可以自定义Spark应用程序的日志输出级别,可以到$SPARK_HOME/conf/log4j.properties文件里面进行修改,比如:

01# User: 过往记忆
02# Date: 2015-05-015
03# Time: 上午07:26
06# 过往记忆博客,专注于hadoop、hive、spark、shark、flume的技术博客,大量的干货
07# 过往记忆博客微信公共帐号:iteblog_hadoop
08spark.root.logger=WARN,console
09 
10log4j.rootLogger=${spark.root.logger}
11 
12log4j.appender.console=org.apache.log4j.ConsoleAppender
13log4j.appender.console.target=System.err
14log4j.appender.console.layout=org.apache.log4j.PatternLayout
15log4j.appender.console.layout.ConversionPattern=%d (%t) [%p - %l] %m%n

这样Spark应用程序在运行的时候会打出WARN级别的日志,然后在提交Spark应用程序的时候使用--files参数指定上面的log4j.properties文件路径即可使用这个配置打印应用程序的日志。

免责声明:文章转载自《Spark应用程序运行的日志存在哪里(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇D3.js 交互式操作深入MVC模式概念下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java日志框架logback剖析

Logback和log4j非常相似,优点如下: 1、更快的实现 Logback的内核重写,在一些关键执行路径上性能提升10倍以上。同时,初始化内存加载也更小。 2、非常充分的测试 Logback经过数年的测试,这是简单重要的原因选择logback而不是log4j。 3、Logback-classic非常自然实现了SLF4j 因为logback-classi...

spark安装配置

准备:1. 规划3个集群节点:hosts主机都已经配置好映射,映射主机名分别为master,slave1,slave2,且已经进行ssh免密配置,确保端口互通,防火墙关闭 2. 先安装好scala(参考:https://www.cnblogs.com/sea520/p/13518158.html) 一. 下载spark安装包下载地址:https://ar...

Yarn 模式

独立部署(Standalone)模式由 Spark 自身提供计算资源,无需其他框架提供资源。这 种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是你也要记住,Spark 主 要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是 和其他专业的资源调度框架集成会更靠谱一些。所以接下来我们来学习在强大的 Yarn 环境 下...

Hibernate 配置

 Hibernate为操作数据库提供了一系列的API,为了能够准确的使用这些API,要在开发环境里要做很多的环境配置,归结起来有几个重要步骤:  A. 导入正确版本的jar包(hibernate提供的Jar包、数据库驱动包、日志文件包)  B. 编写配置文件(Hibernate配置文件、日志文件配置   笔者将Hibernate的配置做一下详细描述,大家根...

Solr学习02:搭建Solr环境

一、安装虚拟机   Solr 必须运行在Java1.6 或更高版本的Java 虚拟机中,运行标准Solr 服务只需要安装JRE 即可,但如果需要扩展功能或编译源码则需要下载JDK 来完成。可以通过下面的地址下载所需JDK 或JRE :   OpenJDK ( http://java.sun.com/j2se/downloads.html )  Sun (h...

scala之 spark连接SQL和HIVE/IDEA操作HDFS

一、连接SQL 方法一、 package com.njbdqn.linkSql import java.util.Properties import org.apache.spark.sql.SparkSession import org.apache.spark.sql._ object LinkSql { def main(args: Arr...