如何定义spark-submit的日志路径配置?

时间:2017-06-21 14:40:25

标签: apache-spark

我正在尝试将日志路径传递给spark-submit,如下所示:

spark-submit \
  --master local[*] \
  --conf -Dlogback.configurationFile=C:\Users\A661758\Desktop\logback.xml \
  target\scala-2.11\dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jar \
  C:\Users\A661758\Desktop\Atos_Integration_Donnees_V0.1_2017\AC_LIMOGES_JSON SourceAcLimoges 20170526 L AC-LIMOGES 

输出:

  

警告:忽略非spark配置属性:   -Dlogback.configurationFile = C:\用户       小号\ A661758 \桌面\ logback.xml       log4j:WARN没有为logger找到appender(dataIntegrationENTLea.Main $)。

2 个答案:

答案 0 :(得分:2)

它不会为local[*]工作,因为为驱动程序和单个执行程序(又是驱动程序)设置单个JVM为时已晚。

--master local[*] --conf -Dlogback.configurationFile=C:\Users\A661758\Desktop\logback.xml

更不用说设置此类参数的方法是spark.driver.extraJavaOptionsspark.executor.extraJavaOptions,如Runtime Environment中所述:

  

spark.driver.extraJavaOptions 要传递给驱动程序的一串额外JVM选项。例如,GC设置或其他日志记录。

     

spark.executor.extraJavaOptions 要传递给执行程序的一串额外JVM选项。例如,GC设置或其他日志记录。

当您阅读文档时,您应该找到以下内容(突出显示我的文档):

  

注意:在客户端模式下,不能直接在应用程序中通过SparkConf设置此配置,因为驱动程序JVM已在此时启动。 相反,请通过--driver-java-options命令行选项或默认属性文件进行设置。

执行spark-submit --help时,您会看到以下内容:

  

- driver-java-options 要传递给驱动程序的额外Java选项。

使用--driver-java-options,如下所示:

./bin/spark-shell --driver-java-options -Daaa=bbb

如果设置了该选项,请查看网络用户界面的环境标签。

enter image description here

答案 1 :(得分:1)

Spark正确地告诉你,传递给--conf的任何参数都需要是一个spark配置键。您正在寻找的是spark.driver.extraJavaOptionsspark.executor.extraJavaOptions

spark-submit \
--master local[*] \
--conf "spark.driver.extraJavaOptions=-Dlogback.configurationFile=C:\Users\A661758\Desktop\logback.xml" \ 
C:\Users\A661758\dataIntegrationLea\target\scala-2.11\dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jarC:\Users\A661758\Desktop\Atos_Integration_Donnees_V0.1_2017\AC_LIMOGES_JSON SourceAcLimoges 20170526 L AC-LIMOGES 

请注意,您需要相应地设置驱动程序和执行程序位置,因为每台计算机上的位置可能不同。

有关火花配置值的更多信息,请参阅Add jars to a Spark Job - spark-submit