我正在尝试在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,他将我指向了中间链接here。我能够到达某个地方?以下是我基于该文章所遵循的步骤(请注意,下面的相对链接是我系统中的绝对路径,我只是不想列出整个目录结构):
spark-2.1.1-bin-hadoop2.7
文件夹的位置。spark-shell
导致java.io.IOException
,因为它无法在hadoop二进制路径中找到winutils二进制文件。winutils.exe
并将其移至文件夹./winutils_hadoop/bin
。HADOOP_HOME
作为系统级环境变量:./winutils_hadoop/
。 ./winutils_hadoop/bin
。C:\tmp\hive
。winutils.exe chmod -R 777 C:\tmp\hive
。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
我很难过。