Spark 不再在 Windows 中运行

And*_*lai 4 windows apache-spark pyspark jupyter-notebook

我有 Windows 10,我按照本指南安装 Spark 并使其在我的操作系统上运行,只要使用 Jupyter Notebook 工具。我使用这个命令来实例化 master 并导入我工作所需的包: pyspark --packages graphframes:graphframes:0.8.1-spark3.0-s_2.12 --master local[2]

然而,后来,我发现没有根据上述指南实例化任何工人,我的任务真的很慢。因此,考虑从中得到启发这个,因为我无法找到任何其他方式工作者连接到群集管理器,由于它是由码头工人运行的事实,我想手动设置一切用下面的命令: 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
Run Code Online (Sandbox Code Playgroud)

从那一刻起,我以前运行的所有命令都不再起作用,它们返回了您可以看到的消息。我想我搞砸了一些 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)
Run Code Online (Sandbox Code Playgroud)

小智 10

我刚才遇到了同样的错误,这个问题似乎与 Java 版本有关。

  1. 我安装了 java、python、spark 等。所有最新版本......!
  2. 遵循以下链接中提到的步骤..

https://phoenixnap.com/kb/install-spark-on-windows-10

  1. 和你一样的错误..!
  2. 从 Oracle 站点下载 Java SE 8 版本..

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

下载 jdk-8u281-windows-x64.exe

  1. 重置 JAVA_HOME。
  2. 启动 spark-shell - 完美打开,出现问题。

仅供参考:我既没有 java 也没有 spark 经验,如果有人觉得有什么不对,请纠正我。只是它对我有用,所以在这里提供相同的解决方案.. :)

谢谢,卡伦

  • 您甚至可以使用 openjdk,版本 8 或 11,或者使用需要注册的“官方”java! (3认同)