【发布时间】:2017-12-10 09:02:14
【问题描述】:
我已经为我的 spark 应用程序开发了一个自定义 log4j:
#######################
# Roll by time #
#######################
log4j.logger.myLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.file.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.file.RollingPolicy.FileNamePattern = contactabilidad_%d{yyyy-MM-dd-hh}.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %C:%L - %m%n
log4j.appender.file.encoding=UTF-8
log4j.appender.file.MaxFileSize=5MB
我将我的项目打包到一个 JAR 中,并在 spark-submit 中运行它。
我只想将日志写入一个文件,就像我这样做的那样,当文件 log4j.properties 进入我运行 spark-submit 的文件系统并在其中定义此路径时命令 java-options。
spark-submit --class com.path.to.class.InitialContactDriver
--driver-java-options "-Dlog4j.configuration=file:log4j.properties"
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties"
--master yarn /home/cloudera/SNAPSHOT.jar
我的意思是: 我不能引用 JAR 中的日志文件吗?
正如我对班级所做的那样:--class com.path.to.class.InitialContactDriver
我打算在有限的环境中运行应用程序,我不想将文件上传到 FS,只需使用我在 JAR 中的内容即可。 那可能吗?如果不是,为什么不呢?
提前致谢! :)
【问题讨论】:
标签: apache-spark log4j spark-submit