我正在尝试在我的cloudera集群上设置SPARK2。为此,我有JDK1.8:

linux - 无法使用 Spark  shell 发射 Spark-LMLPHP

我已经使用rpm文件安装了scala 2.11.8:

linux - 无法使用 Spark  shell 发射 Spark-LMLPHP

我已经在主目录/ home / cloudera上下载并提取了Spark版本2.2.0。

linux - 无法使用 Spark  shell 发射 Spark-LMLPHP

我对.bashrc中的PATH变量进行了如下更改:
linux - 无法使用 Spark  shell 发射 Spark-LMLPHP

但是,当我尝试从主目录/ home / cloudera执行spark-shell时,它说没有这样的文件或目录,如下所示:

[cloudera@quickstart ~]$ spark-shell
/home/cloudera/spark/bin/spark-class: line 71: /usr/java/jdk1.7.0_67-cloudera/bin/java: No such file or directory
[cloudera@quickstart ~]$


谁能让我知道如何解决该问题并正确配置它?

最佳答案

Java / JVM应用程序(尤其是spark-shell)使用java二进制文件自行启动。因此,他们需要知道它的位置,这通常是通过JAVA_HOME环境变量完成的。

在您的情况下,它没有明确重置,并且使用了Clauder默认的一个Java发行版中的值(即使它指向空位置)。

您需要设置JAVA_HOME指向要在其下启动spark-shell和其他应用程序的用户的正确Java分发目录。

09-16 05:03