您现在的位置是:首页 > 文章详情

Spark 通过 spark-submit 设置日志级别

日期:2018-11-15点击:616
版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/84140956

我的原创地址:https://dongkelun.com/2018/11/15/sparkSubmitLogLevel/

前言

Spark有多种方式设置日志级别,这次主要记录一下如何在spark-submit设置Spark的日志级别。

1、需求

因为Spark的日志级别默认为INFO(log4j.rootCategory=INFO, console),这样在运行程序的时候有很多我不需要的日志信息都打印出来了,看起来比较乱,比较烦,抓不住重点,而我只想把warn和error打印出来。
之前在测试环境或者在eclipse我是通过其他几种方式(下面会介绍)设置的,但是在生产环境下不允许我修改集群的配置文件(不是我负责~),而在代码里设置日志级别却不生效(原因还没找到),最后通过spark-submit里设置日志级别搞定的。

2、spark-submit 设置

spark-submit --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties" 

其中log4j.properties为我将本地的日志文件,拷贝到执行spark-submit的机器上
参考:https://blog.csdn.net/xueba207/article/details/50436684

3、其他几种设置方法

3.1 修改集群的配置文件

cd $SPARK_HOME/conf cp log4j.properties.template log4j.properties vim log4j.properties 

将log4j.rootCategory=INFO, console改为log4j.rootCategory=WARN, console

3.2 在Eclipse里设置

将log4j.properties放在项目的src/main/resources即可

  • Spark 默认日志文件:org/apache/spark/log4j-defaults.properties

3.3 代码里配置(未生效)

spark.sparkContext.setLogLevel("WARN") 
  • 在代码里设置,不生效原因未知

4、 总结

  • 1、如果在自己的测试集群上,直接修改$SPARK_HOME/conf下的log4j.properties即可
  • 2、如果在Eclipse里,将log4j.properties放在项目的src/main/resources即可
  • 3、如果在生产环境的集群,又不允许修改配置文件的话,用上面讲的spark-submit --conf 即可
原文链接:https://yq.aliyun.com/articles/676176
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章