启动火花时出错,start-all.sh



当我尝试用脚本启动火花时 start-all.sh 它抛出错误

> localhost: failed to launch: nice -n 0 bin/spark-class
> org.apache.spark.deploy.worker.Worker --webui-port 8081
> spark://dev-pipeline-west-eu.jwn4tgenexauzewylryxtm545b.ax.internal.cloudapp.net:7077
> localhost:       at
> sun.launcher.LauncherHelper.loadMainClass(java.base@9-internal/LauncherHelper.java:585)
> localhost:       at
> sun.launcher.LauncherHelper.checkAndLoadMain(java.base@9-internal/LauncherHelper.java:497)
> localhost: full log in
> /spark-2.1.0-bin-hadoop2.7/logs/spark-shankar-org.apache.spark.deploy.worker.Worker-1-dev-pipeline-west-eu.out

当我查看可用的日志文件时,/spark-2.1.0-bin-hadoop2.7/logs/spark-shankar-org.apache.spark.deploy.worker.Worker-1-dev-pipeline-west-eu.out有以下错误日志。

> Error: A JNI error has occurred, please check your installation and
> try again Exception in thread "main"
> java.lang.ArrayIndexOutOfBoundsException: 64
>     at java.util.jar.JarFile.match(java.base@9-internal/JarFile.java:983)
>     at java.util.jar.JarFile.checkForSpecialAttributes(java.base@9-internal/JarFile.java:1017)
>     at java.util.jar.JarFile.isMultiRelease(java.base@9-internal/JarFile.java:399)
>     at java.util.jar.JarFile.getEntry(java.base@9-internal/JarFile.java:524)
>     at java.util.jar.JarFile.getJarEntry(java.base@9-internal/JarFile.java:480)
>     at jdk.internal.util.jar.JarIndex.getJarIndex(java.base@9-internal/JarIndex.java:114)

是什么导致了错误?

我在 Ubuntu 16.04 上遇到了同样的问题。更新 Java 解决了这个问题:

sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

解决方案使用 Java 版本 8 而不是版本 9。

选项 1一种选择是卸载 Java(版本 9(并重新安装 Java(版本 8(。 (您可以查看此帖子以安装 Java ;请确保进行必要的更改,以便安装版本 8。

选项 2如果您同时安装了这两个命令并且使用的是 Ubuntu,则可以使用以下命令:

sudo update-alternatives --config java

对于您将看到的提示,使用与 Java 8 关联的整数进行响应,然后按回车键。

形式:http://continualintegration.com/miscellaneous-articles/how-do-you-troubleshoot-the-spark-shell-error-a-jni-error-has-occurred

最新更新