在Ubuntu20.04上用hadoop安装新的spark后,无法运行spark shell命令

bkkx9g8r  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(554)

我试图在安装后运行spark,但命令“spark shell”给出错误:
找不到或加载主类版本。
为了解决这个问题,我尝试用各种方式(也许是矛盾的)设置javau主页。我还将scala_设置为home并编辑了spark-env.sh。我可以采取什么措施来解决这个问题?
类似:
这个问题2(我使用的是ubuntu20.04,上面的问题是windows,这个问题是关于spark submit而不是spark shell命令)和这个问题:(这个错误和我的不同,但是类似)
版本信息:我正在使用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,运行时:build 1.8.0_252-8u252-b09-1ubuntu1-b09 openjdk 64位服务器vm(build 25.252-b09,混合模式)javac 1.8.0ü
我已经采取的步骤的细节:
我已经安装了hadoop(将程序文件提取到usr/hadoop,配置namenode和datanode,设置javapath)、java1.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/环境中: JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 我不知道下一步该怎么做,因为spark似乎找不到java或scala,但当我在终端中键入echo$java\u home和echo$scala\u home时,它们出现了。

koaltpgm

koaltpgm1#

spark版本:spark-2.4.5-bin-without-hadoop-scala-2.12
这意味着spark是用scala2.12预构建的,或者说是预期的scala2.12,我不认为你能用scala2.11运行它
从spark兼容性页面可以看到,spark 2.4.5是用hadoop2.7.x或hadoop3.2.x预构建的
https://spark.apache.org/downloads.html
我建议您使用他们推荐的hadoop版本之一进行尝试,或者安装hadoop3.2.x+

相关问题