我正在运行一个spark应用程序。我的应用程序有一些日志声明。
我想将日志存储为Linux目录中的文件。
下面是我的log4j文件
当我运行spark作业时,它会被启动并成功完成,但是日志不会存储为文件,我看到在/ home / cloudera中创建了一个目录日志。但我没有看到omega.log创建
log4j.properties
# Set everything to be logged to the console
log4j.rootCategory=INFO, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/home/cloudera/logs/omega.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{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
您需要确保/ home / cloudera / logs存在于每个节点中,然后尝试将下一个属性添加到spark-submit cmd
spark-submit
--master yarn-cluster
--files /path/to/log4j-spark.properties
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=log4j-spark.properties"
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=log4j-spark.properties"
...