Apache spark Spark—从运行Spark submit的JAR加载log4j
我已经为我的spark应用程序开发了一个定制log4j:Apache spark Spark—从运行Spark submit的JAR加载log4j,apache-spark,log4j,spark-submit,Apache Spark,Log4j,Spark Submit,我已经为我的spark应用程序开发了一个定制log4j: ####################### # Roll by time # ####################### log4j.logger.myLogger=DEBUG, file log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender log4j.appender.file.RollingPolicy=org.apache.log4
#######################
# 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
我把我的项目打包到一个罐子里,然后在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中的文件即可。
可能吗?如果不是,为什么不是
提前感谢!:) 您必须在命令中提供
--driver class path
选项。尝试:
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" \
--driver-class-path /home/cloudera/SNAPSHOT.jar \
--master yarn /home/cloudera/SNAPSHOT.jar
我没有尝试过纱线,但在本地模式和集群模式下效果很好。嗨!感谢您的回答:)我已经尝试过了,我得到了这个错误“log4j:error无法从URL[文件:log4j.properties].java.io.FileNotFoundException:log4j.properties(没有这样的文件或目录)”。是的,对不起,尝试不使用--driver java options和--conf.So:spark submit--class com.path.to.class.InitialContactDriver\--driver java options“-Dlog4j.configuration=log4j.properties”\--conf“spark.executor.extraJavaOptions=Dlog4j.configuration=log4j.properties”\--driver class path/home/cloudera/SNAPSHOT.jar\--master thread/home/cloudera/SNAPSHOT.jar这完全解决了我的问题。非常感谢!:)它对纱线有效吗。。。因为我在纱线簇模式下尝试了所有这些选项,但没有成功