spark launch:找到版本

时间:2015-02-26 16:35:55

标签: windows scala apache-spark

我的环境是Windows 7,安装了scala 2.11.4(效果很好),Java 1.8

我尝试过spark-1.2.0-bin-hadoop2.4和spark-1.2.1-bin-hadoop2.4,每次我都放

bin\spark-shell.cmd

我刚收到Windows的错误:

find: 'version': No such file or directory
else was unexpected at this time.

这里有什么我忽略的吗?

非常感谢你。

更新:(来自spark-class2.cmd)

C:\Users\spark-1.2.1-bin-hadoop2.4>for /F "tokens=3" %i in ('java -version 2>&1 | find "version"') do set jversi on=%i
find: 'version': No such file or directory
else was unexpected at this time.

如果我尝试java -version,它似乎在java方面工作

C:\Users\spark-1.2.1-bin-hadoop2.4>java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

3 个答案:

答案 0 :(得分:3)

我已经解决了这个问题。这是我的解决方案。

我安装了cygwin,PATH系统变量指向C:\ cygwin64 \ bin \,其中有一个find.exe。

因此,spark-class2.cmd中的行

for /f "tokens=3" %%i in ('java -version 2^>^&1 ^| find "version"') do set jversion=%%i

没有使用正确的"发现"可执行文件。

将此行更改为此

for /f "tokens=3" %%i in ('java -version 2^>^&1 ^| C:\Windows\System32\find.exe "version"') do set jversion=%%i

解决了我的问题。

答案 1 :(得分:0)

我只是意识到那里的代码试图找出JVM的版本,因为我知道它是1.8.0_31。这是我愚蠢的解决方案:

rem Set JAVA_OPTS to be able to load native libraries and to set heap size
rem for /f "tokens=3" %%i in ('java -version 2^>^&1 ^| %windir%\system32\FIND.exe "version"') do echo %%i
rem for /f "tokens=1 delims=_" %%i in ("%jversion:~1,-1%") do set jversion=%%i
rem if "%jversion%" geq "1.8.0" (
  set JAVA_OPTS=%OUR_JAVA_OPTS% -Xms%OUR_JAVA_MEM% -Xmx%OUR_JAVA_MEM%
rem ) else (
rem   set JAVA_OPTS=-XX:MaxPermSize=128m %OUR_JAVA_OPTS% -Xms%OUR_JAVA_MEM% -Xmx%OUR_JAVA_MEM%
rem )

我觉得Spark团队需要解决这个问题

rem设置JAVA_OPTS以便能够加载本机库并设置堆大小      for / f" tokens = 3" %% i in(' java -version 2 ^> ^& 1 ^ |%windir%\ system32 \ FIND.exe"版本"')做回显%% i      for / f" tokens = 1 delims = _" %% i in("%jversion:~1,-1%")设置jversion = %% i

答案 2 :(得分:0)

我的朋友有同样的问题。我们认为它与java有关。所以我们重新安装了java-sdk(1.7)并检查了路径和JAVA_HOME是否正确设置。之后,spark-shell.cmd和spark-submit.cmd工作正常。

平台:Windows 8。