尝试在不同的驱动器上安装Spark

时间:2018-04-05 23:10:54

标签: apache-spark windows64

我正在尝试在D盘上的Windows x64计算机上安装Spark 2.3.0。具体来说,我下载了Spark 2.3.0 Hadoop 2.7。当我尝试运行spark-shell时,出现以下错误:

Error: Could not find or load main class org.apache.spark.launcher.Main

我曾尝试按照几个安装指南,但似乎没有任何工作。 java -version给了我:

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

此外,python给出:

Python 3.6.5 |Anaconda custom (64-bit)| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32

我已将以下内容添加到PATH

  • D:\Program Files (x86)\scala\bin
  • D:\ProgramData\spark-2.3.0-bin-hadoop2.7\bin
  • D:\Program Files\Java\jdk1.8.0_161\bin
  • C:\Users\USER\.windows-build-tools\python27\
  • D:\ProgramData\Anaconda3

JAVA_HOME设为D:\Program Files\Java\jdk1.8.0_161

最后,scala运行正常,产生:

Welcome to Scala 2.12.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_161).

这里有什么我想念的吗?

非常感谢任何帮助!

编辑1:

添加了spark-2.3.0-bin-hadoop2.7/conf的内容:

enter image description here

编辑2:

感谢@ cricket_007,他将我指向了中间链接here。我能够到达某个地方?以下是我基于该文章所遵循的步骤(请注意,下面的相对链接是我系统中的绝对路径,我只是不想列出整个目录结构):

  1. 将SPARK_HOME变量设置为spark-2.1.1-bin-hadoop2.7文件夹的位置。
  2. spark-shell导致java.io.IOException,因为它无法在hadoop二进制路径中找到winutils二进制文件。
  3. 下载Hadoop 2.7的winutils.exe并将其移至文件夹./winutils_hadoop/bin
  4. 添加HADOOP_HOME作为系统级环境变量:./winutils_hadoop/
  5. 向PATH变量添加了./winutils_hadoop/bin
  6. 创建目录C:\tmp\hive
  7. 运行winutils.exe chmod -R 777 C:\tmp\hive
  8. spark-shell现在应该可以使用了。
  9. 但是,在运行spark-shellWARN NativeCoderLoader:62 - Unable to load native-hadoop library for your platform... using builtin java classes where applicable时,这仍然会发出警告。

    不仅如此,但示例仍然无法正常运行。例如,运行javac ./spark-2.3.0-bin-hadoop2.7/examples/src/main/java/org/apache/spark/examples/JavaWordCount.java会导致多个错误:

    • JavaWordCount.java:20: error: package scala does not exist
    • JavaWordCount.java:22: error: package org.apache.api.java does not exist
    • JavaWordCount.java:24: error: package org.apache.spark.sql does not exist

    我很难过。

0 个答案:

没有答案