Spark安装中出错--pyspark

时间:2015-03-11 14:08:44

标签: python-2.7 apache-spark pyspark

我在Windows 8上安装spark 1.2.1,我已经为Hadoop 2.4下载了一个预构建的软件包

当我正在运行 pyspark 时,我收到以下错误:

C:\Users\Dinesh\Desktop\spark-1.2.1-bin-hadoop2.4>bin\pyspark
Running python with PYTHONPATH=C:\Users\Dinesh\Desktop\spark-1.2.1-bin-hadoop2.4\bin\..\python\lib\py4j-0.8.2.1-src.zip;C:\Users\Dinesh\Desktop\spark-1.2.1-bin-hadoop2.4\bin\..\python;
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
The system cannot find the path specified.
Traceback (most recent call last):
File "C:\Users\Dinesh\Desktop\spark-1.2.1-bin-Hadoop2.4\bin\..\python\pyspark\shell.py", line 45, in <module>
sc = SparkContext(appName="PySparkShell", pyFiles=add_files)
File "C:\Users\Dinesh\Desktop\spark-1.2.1-bin-hadoop2.4\python\pyspark\context.py", line 102, in __init__
SparkContext._ensure_initialized(self, gateway=gateway)
File "C:\Users\Dinesh\Desktop\spark-1.2.1-bin-hadoop2.4\python\pyspark\context.py", line 212, in _ensure_initialized
SparkContext._gateway = gateway or launch_gateway()
File "C:\Users\Dinesh\Desktop\spark-1.2.1-bin-hadoop2.4\python\pyspark\java_gateway.py", line 73, in launch_gateway
raise Exception(error_msg)
Exception: Launching GatewayServer failed with exit code 1!
Warning: Expected GatewayServer to output a port, but found no output.

我已经搜索过,我得到的一般情况是错误是由于路径变量没有正确定义引起的,但我已经检查过并且我的变量都已到位。我该如何解决这个错误? &#34;系统无法找到指定的路径。&#34;它在谈论哪条道路?

3 个答案:

答案 0 :(得分:1)

我调试此问题的方法是将#&#34; @echo关闭&#34;命令由pyspark.cmd调用的所有命令文件。 最后,我将JAVA_HOME设置为&#34; C:\ ProgramData \ Oracle \ Java \ javapath&#34;这是错误的,因为其中一个cmd脚本添加了一个&#34; \ bin&#34;在调用java.exe之前到JAVA_HOME并且它正在触发&#34;系统找不到指定的路径。&#34;错误。 所以我把JAVA_HOME更改为&#34; C:\ Program Files \ Java \ jdk1.8.0_25&#34;它运作良好。

现在我必须取消&#34; @echo&#34; s。希望它有所帮助!

答案 1 :(得分:1)

就我而言,问题来自我使用的终端。在 Windows 上的 Git Bash 上,我在执行 line 96: CMD: bad array subscript 时遇到错误:spark-shell 但是当我尝试在 PowerShell 上运行时它运行良好。

答案 2 :(得分:0)

它可能是由DOS类路径中的cygwin引起的。 Spark使用文件&#39; spark-class2.cmd&#39;中的find命令,然后使用cygwin find命令而不是DOS find命令,这有点不同。我从DOS PATH中删除了cygwin,解决了这个问题。