我正在通过 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
最佳答案
您可以将其作为配置选项提供给 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"
希望这对您有所帮助。
干杯!
关于hadoop - spark2-shell 中的 Log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46278770/