【问题标题】:java.lang.NoSuchMethodError: 'java.lang.String org.slf4j.helpers.Util.safeGetSystemProperty(java.lang.String)'java.lang.NoSuchMethodError: 'java.lang.String org.slf4j.helpers.Util.safeGetSystemProperty(java.lang.String)'
【发布时间】:2021-11-25 10:30:39
【问题描述】:

在客户端模式下使用 JupyterHub 在 Kubernetes 上启动 Spark 时遇到问题。

21/10/05 03:54:33 ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[Executor task launch worker-0,5,main]
java.lang.NoSuchMethodError: 'java.lang.String org.slf4j.helpers.Util.safeGetSystemProperty(java.lang.String)'
    at org.slf4j.impl.VersionUtil.getJavaMajorVersion(VersionUtil.java:11)
    at org.slf4j.impl.Log4jMDCAdapter.<clinit>(Log4jMDCAdapter.java:37)
    at org.slf4j.impl.StaticMDCBinder.getMDCA(StaticMDCBinder.java:59)
    at org.slf4j.MDC.<clinit>(MDC.java:74)
    at org.apache.spark.executor.Executor.org$apache$spark$executor$Executor$$setMDCForTask(Executor.scala:740)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:432)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
21/10/05 03:54:33 INFO MemoryStore: MemoryStore cleared
21/10/05 03:54:33 INFO BlockManager: BlockManager stopped
21/10/05 03:54:33 INFO ShutdownHookManager: Shutdown hook called

我还确认驱动程序和执行程序中的 slf4j 版本和 jar 是相同的,因为一些文章表明它可能是包版本不匹配。

安装的罐子是

jcl-over-slf4j-1.7.30.jar
jul-to-slf4j-1.7.30.jar
slf4j-api-1.7.30.jar
slf4j-log4j12-1.7.30.jar

在执行程序和驱动程序 pod 中。你知道我是否错过了什么吗?谢谢。

【问题讨论】:

    标签: java apache-spark pyspark slf4j


    【解决方案1】:

    能够使其工作。从 Spark 的构建工具构建 executor pod,并在其上添加新包。还确保驱动程序 pod(Jupyter Notebook)和执行程序 pod 中存在 jar。

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 2021-08-22
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2020-02-27
      • 2019-09-05
      相关资源
      最近更新 更多