【问题标题】:Unable to run spark-shell command after new Spark setup with Hadoop on Ubuntu 20.04在 Ubuntu 20.04 上使用 Hadoop 进行新 Spark 设置后无法运行 spark-shell 命令
【发布时间】:2020-05-17 13:42:48
【问题描述】:

我试图在安装后运行 Spark,但命令“spark-shell”给出了错误:

无法找到或加载主类版本。

我试图通过以各种(可能是矛盾的)方式设置我的 JAVA_HOME 来解决这个问题。我还设置了 SCALA_HOME 并编辑了 spark-env.sh。我可以采取哪些步骤来解决此问题?

类似于:

这个question2 (我使用的是 Ubuntu 20.04,上面的问题是针对 Windows 的,这个问题是关于 spark-submit 而不是 spark-shell 命令)和这个question:(这个错误与我的不同但相似)

版本信息: 我正在使用 Ubuntu 20.04 Hadoop版本:2.10.0 Spark 版本:spark-2.4.5-bin-without-hadoop-scala-2.12 Scala 版本:2.11.12(以前我尝试过 scala 2.12,因为我认为它兼容) Java版本:openjdk版本1.8.0_252, 运行时:构建 1.8.0_252-8u252-b09-1ubuntu1-b09 openJDK 64 位服务器 VM(内部版本 25.252-b09,混合模式) javac 1.8.0_252

我已采取的步骤的详细信息:

我已经安装了 Hadoop(将程序文件提取到 usr/hadoop,配置了 namenode 和 datanode,设置了 javapath)、Java 1.8 和 scala。 Hadoop 工作正常。我可以在浏览器和 hadoop 作业中看到 namenode。

我已经安装了 Spark(将程序文件解压到 usr/Spark)。

在 spark-env.sh 我设置了:

export HADOOP_CONF_DIR=/home/sperling/hadoop/hadoop-2.10.0,
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre

在 bashrc 中我设置了:

export SCALA_HOME=/usr/share/scala export HADOOP_HOME=/home/sperling/hadoop/hadoop-2.10.0 export SPARK_HOME=/home/sperling/spark export PATH=$PATH:/home/sperling/spark/bin

在我设置的 etc/environment 中:

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

我不知道下一步该尝试什么,因为 Spark 似乎无法找到 Java 或 Scala,但是当我在终端中键入 echo $JAVA_HOME 和 echo $SCALA_HOME 时它们会出现。

【问题讨论】:

    标签: scala apache-spark ubuntu


    【解决方案1】:

    Spark 版本:spark-2.4.5-bin-without-hadoop-scala-2.12

    这意味着 Spark 是使用 Scala 2.12 预构建的或期待 Scala 2.12 我认为您无法使用 Scala 2.11 运行它

    从我在 Spark 兼容性页面上看到的内容来看,Spark 2.4.5 是预构建的 Hadoop 2.7.x 或 Hadoop 3.2.x

    https://spark.apache.org/downloads.html

    我建议要么尝试使用他们推荐的 Hadoop 版本之一,要么安装 Hadoop 3.2.x+

    【讨论】:

    • 谢谢。我尝试使用 Scala 2.12.10 并遇到同样的问题。我将为 Hadoop 2.7 安装 Hadoop 2.7 和 Spark 2.4.5 并报告。我将使用 Scala 2.11 和 Java 8。这听起来正确吗?
    • 这应该可行,我已经看到 Scala 2.11 和 Scala 2.12 都启动并运行了相同的配置
    • 我的最终工作配置是:Scala 2.12.11、Hadoop 3.2.1 和 Spark 3.0.0 预览版 2。我使用的说明在这里:[链接] (linuxconfig.org/ubuntu-20-04-hadoop)。这是写这个的正确地方吗?
    猜你喜欢
    • 2017-08-05
    • 1970-01-01
    • 2022-09-29
    • 2015-12-24
    • 1970-01-01
    • 2015-07-15
    • 2022-10-13
    • 2015-02-01
    • 1970-01-01
    相关资源
    最近更新 更多