Apache Spark自定义log4j配置用于应用程序

Yoh*_*age 5 apache-spark

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

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

spark.executor.extraJavaOptions -> -Dlog4j.configuration=log4j.xml
spark.driver.extraJavaOptions -> -Dlog4j.configuration=log4j.xml
Run Code Online (Sandbox Code Playgroud)

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

meh*_*anc 5

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

有一个log4j.properties.template$SPARK_HOME/conf

  • 将其复制到您的 SBT 项目的 src/main/resource
  • 去掉.template后缀
  • 编辑它以满足您的需求
  • SBT run/package/* 将在 JAR 中包含它,Spark 会引用它。

对我有用,并且可能包括其他包管理器(例如 maven)的类似步骤。