我一直试图让Spark shell无法运行。
下载预打包和未打包的变体(由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的尝试是另一个死胡同。
谢谢。
答案 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版本中完全被破坏: