Spark中log4j配置方法

2019年3月3日 0 条评论 1.76k 次阅读 0 人点赞

前言

日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录。在Apache网站:https://logging.apache.org/log4j/2.x/可以免费下载到Log4j最新版本的软件包和项目详细说明。

Spark 使用 log4j 作为日志记录工具。 默认配置是将所有日志写入到标准错误输出,这种方式对于批处理作业来说很好。 但是对于流式作业,最好使用RollingFileAppender按大小切割日志文件并仅保留几个最近的文件。

Log4j配置样例说明

从上述配置可以看到log4j将在日志文件达到50MB时进行滚动并且在数量上只保留最近5个。日志文件会保存在/var/log/spark目录中,文件名从系统属性vm.logging.name中获取。此外还可以根据vm.logging.level属性设置com.w3sun.core包下日志的打印级别。另外如果将org.apache.spark包下日志的打印级别设置为WARN可以忽略来自Spark的详细日志。

Spark Log4j配置实践

Standalone 模式

standalone模式下,Spark  Driver在提交job的机器上运行, Spark  每个Worker节点都会为该job运行一个Executor。因此,需要为Driver和Executor同时设置 log4j。

Spark on YARN

从配置中可以看到,Driver和Executor使用的是相同的配置文件,因为在 yarn-cluster 模式下,Driver与Executor都在 YARN 提供的容器中运行。

log4j-spark.properties样例

影音资料

勇敢,和生活的艰难无关。

文章评论(0)