【发布时间】:2021-06-28 11:14:53
【问题描述】:
我有 Windows 10,我按照 this guide 安装 Spark 并使其在我的操作系统上运行,只要使用 Jupyter Notebook 工具。我使用这个命令来实例化 master 并导入我工作所需的包:
pyspark --packages graphframes:graphframes:0.8.1-spark3.0-s_2.12 --master local[2]
但是,后来我发现没有根据上述指南实例化任何工作人员,我的任务真的很慢。因此,从this 中汲取灵感,由于集群管理器是由 Docker 运行的,我找不到任何其他方式将工作人员连接到集群管理器,因此我尝试使用以下命令手动设置所有内容:
bin\spark-class org.apache.spark.deploy.master.Master
master 已正确实例化,所以我继续执行下一个命令:
bin\spark-class org.apache.spark.deploy.worker.Worker spark://<master_ip>:<port> --host <IP_ADDR>
这给我返回了以下错误:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
21/04/01 14:14:21 INFO Master: Started daemon with process name: 8168@DESKTOP-A7EPMQG
21/04/01 14:14:21 ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[main,5,main]
java.lang.ExceptionInInitializerError
at org.apache.spark.unsafe.array.ByteArrayMethods.<clinit>(ByteArrayMethods.java:54)
at org.apache.spark.internal.config.package$.<init>(package.scala:1006)
at org.apache.spark.internal.config.package$.<clinit>(package.scala)
at org.apache.spark.deploy.master.MasterArguments.<init>(MasterArguments.scala:57)
at org.apache.spark.deploy.master.Master$.main(Master.scala:1123)
at org.apache.spark.deploy.master.Master.main(Master.scala)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make private java.nio.DirectByteBuffer(long,int) accessible: module java.base does not "opens java.nio" to unnamed module @60015ef5
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Constructor.checkCanSetAccessible(Constructor.java:188)
at java.base/java.lang.reflect.Constructor.setAccessible(Constructor.java:181)
at org.apache.spark.unsafe.Platform.<clinit>(Platform.java:56)
... 6 more
从那一刻起,我以前运行的所有命令都不再起作用,它们返回了您可以看到的消息。我想我搞砸了一些 Java 的东西,但老实说,我不明白什么和在哪里。
我的java版本是:
java version "16" 2021-03-16
Java(TM) SE Runtime Environment (build 16+36-2231)
Java HotSpot(TM) 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
【问题讨论】:
-
看起来是java版本问题。你的版本是什么?
-
我用更多信息编辑了 OP。
-
Spark 不支持 Java 16。使用 Java 8/11。
-
确实是这个问题,谢谢。
-
不是windows。破坏 Spark 的是 Java 16。
标签: windows apache-spark pyspark jupyter-notebook