spark配置日志级别的方式

spark | 2020-08-27 15:59:37

因为Spark的日志级别默认为INFO(log4j.rootCategory=INFO, console),这样在运行程序的时候有很多我不需要的日志信息都打印出来了,看起来比较乱,比较烦,抓不住重点,而我只想把warn和error打印出来。

Spark有多种方式设置日志级别,可以满足不同环境和场景的日志设置。

1.spark-submit设置日志级别

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

2.配置spark客户端日志文件

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

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

3.再项目中加入日志配置文件

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

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

4.在代码中设置日志级别

spark.sparkContext.setLogLevel("WARN")

 

总结
1、如果在自己的测试集群上,直接修改$SPARK_HOME/conf下的log4j.properties即可
2、如果在Eclipse里,将log4j.properties放在项目的src/main/resources即可
3、如果在生产环境的集群,又不允许修改配置文件的话,用上面讲的spark-submit --conf 即可

 

登录后即可回复 登录 | 注册
    
关注编程学问公众号