1

我正在使用 spark-submit 提交 java jar 来触发独立集群管理器。但我无法为其提供自定义 log4j.xml 文件。如果我使用 --files 选项,那么我需要将该 log4j 文件复制到同一位置的所有机器,或者如果我使用 hdfs:// 路径提供它,那么它不会将该文件作为 log4j 并切换到默认 log4j 文件。

我还将 -Dlog4j.configuration 与本地和 hdfs 路径一起使用,但与使用 --files 时发生相同的问题。

如果有人知道解决方案,请帮助我

提前致谢。

4

1 回答 1

1

Spark 不支持使用 log4j 在 HDFS 中写入日志,您可以在 unix 机器中本地写入日志。

在 spark-submit 命令中指定 log4j 的属性是:

--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration= Location of your log4j.properties file"

--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration= location of your log4j.properties file"

您必须在本地 unix 框中创建一个自定义 log4j.properties 文件而不是 log4j.xml。

如果要在 HDFS 中创建自定义日志,可以在 java 中创建接口或在 scala 中创建 trait 以指定日志级别并将日志写入 HDFS 以获取更多参考,您可以查看此问题

于 2017-01-11T10:10:18.060 回答