【发布时间】:2015-05-04 14:44:02
【问题描述】:
我正在尝试覆盖 Spark 的默认 log4j.properties,但没有任何运气。我尝试将以下内容添加到 spark-submit:
--conf "spark.executor.extraJavaOptions=Dlog4j.configuration=/tmp/log4j.properties"
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=/tmp/log4j.properties"
但这似乎不起作用。我还尝试在spark-submit 中使用--files 选项,但这似乎也不起作用。有没有人设置了日志记录,所以每个驱动程序都有一个 log4j.properties 文件,而不使用默认值?
我正在使用 Mesos 和 Marathon 运行 Spark 驱动程序。我不确定--files 选项,也找不到任何关于它的使用方式和具体作用的示例。
我还想提一下,我手动将 log4j.properties 文件上传到了我的所有节点,这些节点都有我的更改以供测试。
Spark 的版本目前为 1.1.0。
【问题讨论】:
-
选项应该是
-Dlog4j.configuration=file:/tmp/log4j.properties。另一种选择是将包含 log4j.properties 的目录添加到--driver-class-path。 -
@vanza 刚刚尝试了您的建议,但仍然没有运气。它一直在 conf 中使用默认的 log4j.properties 文件,而不是使用我指定的文件。
-
@vanza 我认为这不起作用,因为我在 conf 目录中有一个 log4j.properties 文件,这是类路径中的第一个文件。
-
我可以看到导致它。我认为您可以通过设置
SPARK_CONF_DIR来覆盖 conf 目录,但我从未尝试过。 -
@ColinMc 你最后是怎么解决这个问题的?
标签: apache-spark logging