应用程序

时间:2015-10-21 14:50:38

标签: apache-spark

我想在独立的Spark群集中为我的应用程序自定义Log4J配置。我有一个log4j.xml文件,它位于我的应用程序JAR中。让Spark使用该配置而不是自己的Log4J配置的正确方法是什么?

我尝试使用--conf选项设置以下内容,但没有运气。

spark.executor.extraJavaOptions -> -Dlog4j.configuration=log4j.xml
spark.driver.extraJavaOptions -> -Dlog4j.configuration=log4j.xml

我使用的是Spark 1.4.1,我/ conf中没有log4j.properties文件。

2 个答案:

答案 0 :(得分:4)

如果您使用SBT作为包管理器/构建器:

log4j.properties.template

中有一个$SPARK_HOME/conf
  • 将其复制到您的SBT项目src/main/resource
  • 删除.template后缀
  • 编辑它以满足您的需求
  • SBT run / package / *将在JAR中包含它,Spark引用它。

适用于我,并且可能包括其他包管理器的类似步骤,例如行家。

答案 1 :(得分:3)

尝试使用driver-java-options。例如:

spark-submit --class my.class --master spark://myhost:7077 --driver-java-options "-Dlog4j.configuration=file:///opt/apps/conf/my.log4j.properties" my.jar