【问题标题】:Use Log4j2 in Apache Spark在 Apache Spark 中使用 Log4j2
【发布时间】:2018-01-11 23:08:33
【问题描述】:

我已经尝试(到目前为止未成功)将 Log4j 替换为 Log4j2 用于 Apache Spark Logging。到目前为止,我已经设法将 Log4j2 用于我的应用程序日志,但我也想将它用于 Spark 内部日志(以避免同时存在 2 个不同的配置和框架)。

根据相关问题,我知道我应该以某种方式告诉 Spark 忽略它自己的 log4j jar 并使用我在 SPARK_CLASSPATH 的帮助下提供的那些。

但是,我遇到了两个问题:

  1. 如果我从 $SPARK_HOME/jars 目录中删除 log4j jar 并通过 SPARK_CLASSPATH 添加新的,驱动程序将无法启动,并抱怨缺少 log4j。

  2. 如果我将 log4j jar 保留在 $SPARK_HOME/jars 目录中,但告诉 spark-submit 使用位于另一个目录中的 jar(使用 --conf spark.driver.extraClassPath),应用程序将立即失败并出现 StackOverflowError类似于提到的here

我希望有人能对我的问题有所了解。

问候

相关问题:Using log4j2 in Spark java applicationCan I use log4j2.xml in my Apache Spark applicationConfiguring Apache Spark Logging with Scala and logback

【问题讨论】:

    标签: scala apache-spark log4j log4j2


    【解决方案1】:

    恐怕你不能使用 log4j 2,因为 spark 是用 log4j 1 硬编码的。

    我发现的最佳解决方案是只使用 log4j 1,这样我也可以收集 spark 日志以及我自己的日志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-19
      • 2015-05-06
      • 2017-03-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      相关资源
      最近更新 更多