为什么在Windows上使用“”“C:\ Program”不能识别为内部或外部命令的spark-shell失败?

运行下面的命令提示符时,屏幕截图中显示错误。

截图

命令:

c:\spark>spark-shell 

错误:

 '""C:\Program' is not recognized as an internal or external command, operable program or batch file. 

为什么?

Suprit,

这个问题很可能是在您的JAVA_HOME空间中。 如果路径包含空格,请使用缩短的路径名称。 例如, C:\Progra~1\Java\jdk1.8.0_131

如果您使用的是Windows10。 请尝试下面的

 Set JAVA_HOME as "C:\Progra~1\Java\jdk1.8.0_131" 

还要确保在PATH环境变量中包含%JAVA_HOME%\bin

我有同样的问题。 我卸载了Java,并安装在C:\Java文件夹中,更改了所需的env设置,它只是为我工作!

某处设置了一个路径或变量,而不用双引号包装它。 因此,路径在第一空间被分割。

 C:\Program Files\Whatever 

已经成为…

 C:\Program 

要修复它,你需要确保你用双引号包装路径变量。

 C:\Program Files\Whatever\Foo\My Bar\bin 

应该

 "C:\Program Files\Whatever\Foo\My Bar\bin" 

或者甚至更好地为用户路径使用环境变量。 例如

 "%PROGRAMFILES(X86)%\Whatever\Foo\My Bar\bin" "%PROGRAMFILES%\Whatever\Foo\My Bar\bin" 

怀疑你把Java安装到了一个有空格的目录,所以JAVA_HOME打破了Windows上的spark-shell脚本。

确保将Java安装到路径中没有空格的目录中。


另一个选项是将JAVA_HOME为相同的值,但用双引号包装,例如

 set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_131" 

这可能会导致Windows中的其他问题被回答为什么spark-shell失败,“此时意外”? 这只是将Java重新安装到路径中没有空间的目录中。


我无法检查出来的东西是用单引号(而不是双引号)来包装JAVA_HOME 理论上这将有助于通过比较"x"的路线。

首先你要找出你的JAVA_HOME在哪里。 在我的情况是,“C:\ Program Files \ Java \ jdk1.8.0_25 \ bin \ java”

然后打开名为spark-class2.cmd的文件,找到并更改为您的java home路径(仅更改下面的粗体文本)。

其他文字仅作为完整内容。

C:\ Program Files \ Java \ jdk1.8.0_25 \ bin \ java ”-Xmx128m -cp“%LAUNCH_CLASSPATH%”org.apache.spark.launcher.Main%>%LAUNCHER_OUTPUT%for / f“tokens = *” (%LAUNCHER_OUTPUT%)do(echo %% i set SPARK_CMD = %% i)del%LAUNCHER_OUTPUT%SPARK_CMD%

您必须按照本教程或其他教程设置环境变量中的spark的路径。

另一个选择是进入包含spark-shell的目录并直接执行它。

希望这个帮助,最好的问候

您需要将Environment变量设置为从任何目录使用spark-shell

或者你需要进入bin文件夹来执行spark-shell命令,在我的情况里面是/spark/spark-2.0.2-bin-hadoop2.7/bin/

我有同样的问题。 这种情况发生在spark-2.1.1-bin-hadoop2.7版本,而不是以前的版本spark-2.1.0-bin-hadoop2.7

通过删除引号来编辑spark-2.1.1-bin-hadoop2.7/bin/spark-class2.cmd的第54行:

 set RUNNER=%JAVA_HOME%\bin\java 

那么它应该工作。

设置所有路径后,我得到同样的错误。 所以你有类型的空间火花壳C:\火花>火星壳它会工作

按照我的步骤

  1. 下载JDK 8 for windows
  2. 安装Java开发环境
  3. 使用预置Hadoop的最新版本下载Spark
  4. 下载WinRar进行解压
  5. 使C中的文件夹派生出放火花文件夹
  6. 进入Spark的Conf文件夹
  7. 更改log4j.propreties的格式
  8. 在Word中打开Log4 ..
  9. 将INFO替换为错误
  10. 保存该文件
  11. 下载Winutils
  12. 在C派生中创建Winutils文件夹
  13. 粘贴在bin文件夹中下载winutils文件
  14. 在Windows中设置环境
  15. 控制面板
  16. 点击系统和安全
  17. 系统
  18. 高级系统设置
  19. 环境变量
  20. (设置星火家) – 新
  21. 新的用户变量表单
  22. 变量_Name- SPARK_Home
  23. 路径: – C:\ Spark(C派生的Spark Foder)
  24. (设置Java Home) – 新建
  25. JAVA_HOME
  26. Java文件夹路径 – (第一个Java文件夹)
  27. 设置Hadoop路径 –
  28. HADOOP_HOME
  29. 路径C:\ Wintulis
  30. 路径目录
  31. PATH-编辑
  32. 新的 – %SPARK_HOME%\ bin
  33. NEW-%SPARK_HOME%\ bin
  34. 系统环境完成