我遵循本教程https://aws.amazon.com/articles/4926593393724923
创建并启动一个简单的spark集群,我对使用spark streaming和kinesis很感兴趣,所以我创建了一个具有以下策略的角色
{
"版本":" 2012-10-17",
"陈述":[
{
"行动":" cloudwatch:",
"效果":"允许",
"资源":" "
},
{
"效果":"允许",
"行动":" kinesis:",
"资源":" "
},
{
"效果":"允许",
"行动":" sns:",
"资源":" "
},
{
"效果":"允许",
"行动":" s3:",
"资源":" "
}
]
}
从cli
运行--create命令时出现此错误 ruby elastic-mapreduce --create --alive --name" Spark-
室壁" --bootstrap-action s3://elasticmapreduce/samples/spark/0.8.1/install-s
park-shark.sh --bootstrap-name" Spark / Shark" --instance-type m1.xlarge --instan
ce-count 3 --jobflow-role spark
错误:凭据应限定为有效区域,而不是' us-west-2'。
emr-cli / aws / core / client.rb:368:在return_or_raise'
emr-cli/aws/core/client.rb:469:in
client_request'
(eval):3:get_instance_profile'
emr-cli/iam_client_wrapper.rb:69:in
instance_profile_exists?'
emr-cli / commands.rb:1190:在validate'
emr-cli/commands.rb:45:in
块中验证'
emr-cli / commands.rb:45:in each'
emr-cli/commands.rb:45:in
验证'
emr-cli / commands.rb:2420:create_and_execute_commands'
emr-cli/elastic-mapreduce-cli.rb:13:in
'
Ruby193 / lib / ruby / site_ruby / 1.9.1 / rubygems / custom_require.rb:36:in require'
Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
要求'
elastic-mapreduce:6:在`'
我的密钥对的区域是us-west-2,所以我不确定哪里出错了。
答案 0 :(得分:0)
在us-east-1
中尝试此操作。如果它有效,则意味着您正在使用AWS客户端,它仍然存在使用IAM的目标区域的问题。 IAM仅支持作用于us-east-1
的请求。
我相信这个问题已得到解决: https://github.com/aws/aws-sdk-ruby/issues/508