0

我正在尝试在 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

在此处输入图像描述

编辑2:

感谢@cricket_007,他将我指向此处的 Medium 链接。我能到某个地方吗?以下是我根据那篇文章到目前为止所遵循的步骤(请注意,下面的相对链接是我系统中的绝对路径,我只是不想布置整个目录结构):

  1. 将 SPARK_HOME 变量设置为spark-2.1.1-bin-hadoop2.7文件夹的位置。
  2. spark-shell导致java.io.IOException因为它未能在 hadoop 二进制路径中找到 winutils 二进制文件。
  3. 下载winutils.exeHadoop 2.7 并将其移至文件夹./winutils_hadoop/bin
  4. 添加HADOOP_HOME为系统级环境变量:./winutils_hadoop/.
  5. 添加./winutils_hadoop/bin到 PATH 变量。
  6. 创建目录C:\tmp\hive
  7. 运行winutils.exe chmod -R 777 C:\tmp\hive
  8. spark-shell现在应该可以工作了。

但是,这仍然会在运行时发出警告spark-shell: WARN 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
  • 等等。

我难住了。

4

0 回答 0