如何在Window 8.1上启动Spark的Shell?

时间:2015-05-08 23:58:15

标签: scala spark-streaming

我一直试图让Spark shell无法运行。

操作系统:Windows 8.1

Spark:1.3.1

Java:8

下载预打包和未打包的变体(由maven和简单构建工具构建的未打包变体)。我试图通过三种不同的方式来解决我的问题。

1)在我的Spark目录中,我尝试使用spark-shell.cmd.\bin\spark-shell.cmd的变体启动它的shell。

我一直在这些方面遇到错误:

  

'C:\ Program'未被识别为内部或外部命令,   可操作程序或批处理文件。

当我看到一个可能的空格错误时,我已尝试使用引号,完整路径等命令的变体。到目前为止没有结果。

2)接下来,我尝试将我的spark目录移动到我的硬盘的最高级别(C:\ \ spark-1.3.1-bin-hadoop2.6)。

由于空白被排除在一个可能的问题上,我的错误信息现在都沿着以下几行:

  

find:'version':没有这样的文件或目录   其他在这个时候出乎意料。

3)我试图以某种方式通过Scala调用Spark(因为有些文档和screencasts给出了印象)。我可以确认在我的环境变量中正确配置了Scala(2.11.6)。它的shell工作正常。

如果有一个命令让它启动Spark shell,我正在听。目前通过Scala的尝试是另一个死胡同。

谢谢。

4 个答案:

答案 0 :(得分:4)

在此文件bin\spark-class2.cmd中找到

set RUNNER="%JAVA_HOME%\bin\java"

并将其替换为(删除")

set RUNNER=%JAVA_HOME%\bin\java

答案 1 :(得分:2)

要解决C:\Program Files,请将C:\Progra~1更改为C:\Program Files,这是$authPref = "AWS4-HMAC-SHA256" $AWSAccessKey = "xxx" $AWSSecretKey = "xxx" $awsDateOnly = (Get-Date).AddHours(-3).ToString("yyyyMMdd") $awsRegion = "us-east-1" $awsServiceName = "cloudfront" $awsRequestType = "aws4_request" $stringToSign = $authPref + " " + $awsCallerReference + " " + $awsDateOnly + "/" + $awsRegion + "/" + $awsServiceName + "/" + $awsRequestType + " SOME_STRING_NOT_SURE_WHAT" $hmacsha = New-Object System.Security.Cryptography.HMACSHA256 $hmacsha.key = [Text.Encoding]::ASCII.GetBytes($stringToSign) $awsHMAC = $hmacsha.ComputeHash([Text.Encoding]::ASCII.GetBytes($AWSSecretKey)) $awsHMAC = [Convert]::ToBase64String($awsHMAC) $awsSignedToken = $authPref + " Credential=" + $AWSAccessKey + "/" + $awsDateOnly + "/" + $awsRegion + "/" + $awsServiceName + "/" + $awsRequestType + ", SignedHeaders=content-type;host;x-amz-date, Signature=" + $awsHMAC #POST /2017-03-25/distribution/$awsDistributionID/invalidation HTTP/1.1 $awsDistributionID = "xxx" $awsCallerReference = (Get-Date).AddHours(-3).ToString("yyyyMMdd'T'HHmmss'Z'") $invalidateObjectXML = @" <?xml version="1.0" encoding="UTF-8"?> <InvalidationBatch xmlns="http://cloudfront.amazonaws.com/doc/2017-03-25/"> <CallerReference>$awsCallerReference</CallerReference> <Paths> <Items> <Path>/</Path> </Items> <Quantity>1</Quantity> </Paths> </InvalidationBatch> "@ [xml]$invalidateObjectXML = $invalidateObjectXML $awsCFuri = "https://cloudfront.amazonaws.com/2017-03-25/distribution/$awsDistributionID/invalidation" Invoke-WebRequest -Method POST ` -Uri $awsCFuri ` -Headers @{"content-type"="text/xml"; "x-amz-date"="$awsCallerReference"; "authorization"="$awsSignedToken"; "host"="cloudfront.amazonaws.com"} ` -Body $invalidateObjectXML 的别名。

答案 2 :(得分:0)

除了移动Spark&amp; Scala到C:\,我不得不将java安装移动到C:\以及

答案 3 :(得分:0)

我刚尝试在Windows 8.1笔记本电脑上安装Spark。我按照Safari在线视频“Apache Spark with Scala”中的说明进行操作: Apache Spark With Scala 按照简单的说明,“spark-shell”命令完全没有工作。我尝试了一切,重新安装,更改目录名称......等等等等。我甚至试图重写那些提出它的intertwinning shell脚本的迷宫。一切都没有成功。最后我尝试安装早期版本。 我安装了“2.1.0:”版本而不是2.1.1。 一切都这样。 这似乎意味着windows .cmd命令在2.1.1版本中完全被破坏: from https://spark.apache.org/downloads.html