我使用spark-submit向spark独立集群管理器提交java jar。但是我无法向它提供自定义log4j.xml文件。 如果我使用--files选项,那么我需要将该log4j文件复制到同一位置的所有机器,或者如果我使用hdfs://路径给它,那么它不会将该文件作为log4j并切换到默认的log4j文件。 / p>
我还使用-dlog4j.configuration同时使用本地和hdfs路径,但是使用--files也会发生同样的问题。
如果有人知道解决方案,请帮助我
提前致谢。
答案 0 :(得分: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中创建特征以指定日志级别并将日志写入HDFS 有关更多参考,请查看此question。