在spark2-shell中使用Log4j

时间:2017-09-18 12:01:45

标签: hadoop apache-spark apache-spark-sql spark-streaming bigdata

我正在通过spark2-shell -i选项运行一个spark脚本。

我想使用log4j框架将生成的日志重定向到文件。

我以前运行的命令:

spark2-shell --master yarn --deploy-mode client -i audit.scala --conf spark.driver.args="PROD sample.txt" --files /bigdata/datalakes/app/log/log4j.properties#log4j.properties --conf spark.driver.extraJavaOptions='-Dlog4j.configuration=file:/bigdata/datalakes/app/log/log4j.properties'

这是/bigdata/datalakes/app/log/log4j.properties

的内容
    # Root logger option
    log4j.rootLogger=INFO, file
    # Direct log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    #Redirect to Tomcat logs folder
    #log4j.appender.file.File=/bigdata/datalakes/app/log/spark.log
    log4j.appender.file.File=/bigdata/datalakes/app/log/spark.log
    log4j.appender.file.MaxFileSize=10MB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

1 个答案:

答案 0 :(得分:0)

您可以将此作为配置选项提供给spark。

--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/bigdata/datalakes/app/log/log4j.properties" 

--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/bigdata/datalakes/app/log/log4j.properties"

希望这有帮助。

干杯!