我已经创建了一个AWS密钥对。
我在这里逐字逐句地按照说明操作:https://aws.amazon.com/articles/4926593393724923
当我键入"aws emr create-cluster --name SparkCluster --ami-version 3.2 --instance-type m3.xlarge --instance-count 3 --ec2-attributes KeyName=MYKEY --applications Name=Hive --bootstrap-actions Path=s3://support.elasticmapreduce/spark/install-spark"时
将MYKEY替换为完整路径和密钥对的名称(我已经尝试了所有方法),我得到以下错误:
`调用RunJobFlow操作出现客户端错误(InvalidSignatureException):我们计算的请求签名与您提供的签名不匹配。检查您的AWS Secret Access密钥和签名方法。有关详细信息,请参阅服务文档。
此请求的规范字符串应为'POST /
content-type:application/x-amz-json-1.1 host:amz ticmapreduce.us-east-1.amazonaws.com用户代理:aws-cli/1.7.5 Python/2.7.8 Darwin/14.1.0 x-amz-date:20150210T180927Z x-amz-target:ElasticMapReduce.RunJobFlow
content-type;host;user-agent;x-amz-date;x-amz-target dbb58908194fa8deb722fdf65ccd713807257deac18087025cec9a5e0d73c572‘
要签名的字符串应该是'AWS4-HMAC-SHA256 20150210T180927Z 20150210/us-east-1/elasticmapreduce/aws4_request c83894ad3b43c0657dac2c3ab7f53d384b956087bd18a3113873fceeabc4ae26'`
我做错了什么?
发布于 2015-02-11 03:04:15
明白了。遗憾的是,上面的页面没有提到必须设置环境变量AWS_SECRET_ACCESS_KEY和AWS_ACCESS_KEY。您必须先完成此操作。我从一个完全不同的安装指南中了解到你必须首先做到这一点:http://spark.apache.org/docs/1.2.0/ec2-scripts.html。
在我设置之后,亚马逊的指令就起作用了。
https://stackoverflow.com/questions/28438797
复制相似问题