【发布时间】:2018-01-11 23:08:33
【问题描述】:
我已经尝试(到目前为止未成功)将 Log4j 替换为 Log4j2 用于 Apache Spark Logging。到目前为止,我已经设法将 Log4j2 用于我的应用程序日志,但我也想将它用于 Spark 内部日志(以避免同时存在 2 个不同的配置和框架)。
根据相关问题,我知道我应该以某种方式告诉 Spark 忽略它自己的 log4j jar 并使用我在 SPARK_CLASSPATH 的帮助下提供的那些。
但是,我遇到了两个问题:
如果我从 $SPARK_HOME/jars 目录中删除 log4j jar 并通过 SPARK_CLASSPATH 添加新的,驱动程序将无法启动,并抱怨缺少 log4j。
如果我将 log4j jar 保留在 $SPARK_HOME/jars 目录中,但告诉 spark-submit 使用位于另一个目录中的 jar(使用 --conf spark.driver.extraClassPath),应用程序将立即失败并出现 StackOverflowError类似于提到的here。
我希望有人能对我的问题有所了解。
问候
相关问题:Using log4j2 in Spark java application,Can I use log4j2.xml in my Apache Spark application,Configuring Apache Spark Logging with Scala and logback
【问题讨论】:
标签: scala apache-spark log4j log4j2