【问题标题】:Exception in thread "main" java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$线程“主”java.lang.IllegalAccessError 中的异常:类 org.apache.spark.storage.StorageUtils$
【发布时间】:2022-05-05 21:34:21
【问题描述】:

您好,我尝试在本地笔记本电脑上运行 spark。 我在 intelijidea 中创建了一个 mvn 项目,在我的主类中,我有一行如下所示,当我尝试运行一个项目时,出现如下错误

 val spark = SparkSession.builder().master("local").getOrCreate()

21/11/02 18:02:35 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up 线程“主”java.lang.IllegalAccessError 中的异常:类 org.apache.spark.storage.StorageUtils$(在未命名模块 @0x34e9fd99 中)无法访问类 sun.nio.ch.DirectBuffer(在模块 java.base 中),因为模块 java .base 不会将 sun.nio.ch 导出到未命名模块 @0x34e9fd99 在 org.apache.spark.storage.StorageUtils$.(StorageUtils.scala:213) 在 org.apache.spark.storage.BlockManagerMasterEndpoint.(BlockManagerMasterEndpoint.scala:110) 在 org.apache.spark.SparkEnv$.$anonfun$create$9(SparkEnv.scala:348) 在 org.apache.spark.SparkEnv$.registerOrLookupEndpoint$1(SparkEnv.scala:287) 在 org.apache.spark.SparkEnv$.create(SparkEnv.scala:336) 在 org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:191) 在 org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:27​​7) 在 org.apache.spark.SparkContext.(SparkContext.scala:460) 在 org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2690) 在 org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:949) 在 scala.Option.getOrElse(Option.scala:201) 在 org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:943) 在 Main$.main(Main.scala:8) 在 Main.main(Main.scala)

我在 pom 中的依赖

 <dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.13</artifactId>
    <version>3.2.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.13</artifactId>
    <version>3.2.0</version>

</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-hive_2.11</artifactId>
    <version>2.1.3</version>
    <scope>provided</scope>

</dependency>

知道如何解决这个问题吗?

【问题讨论】:

标签: scala apache-spark apache-spark-sql sparkcore


【解决方案1】:

Spark 不支持 Java 17 - 仅支持 Java 8/11(来源:https://spark.apache.org/docs/latest/)。

在我的情况下,卸载 Java 17 并安装 Java 8(例如 OpenJDK 8)解决了这个问题,然后我开始在笔记本电脑上使用 Spark。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2013-02-17
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多