通过spark脚本为AWS EC2群集分配角色

时间:2016-06-15 09:02:39

标签: apache-spark amazon-ec2

我无法通过spark脚本spark / ec2 / spark-ec2为ec2群集分配角色。我使用以下命令启动集群: 其中myprofile是具有足够权限的测试配置文件。

./spark-ec2 -k <key name> -i <aws .pem file> -s 2  -r eu-west-1 launch mycluster --instance-type=m4.large --instance-profile-name=myprofile

我可以在ec2控制台中看到他们也分配了正确角色的实例。 然后我继续使用ssh进入主实例:

./spark-ec2 -k <key name>  -i <aws .pem file> login mycluster

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/myprofile

我可以查看我的临时安全密钥,访问密钥和安全令牌。但是,运行

aws s3 list-buckets

返回

"Message": "The AWS Access Key Id you provided does not exist in our records."

通过curl命令检索密钥并将它们传递给boto也不起作用,给予权限拒绝&#39; ..

我错过了什么吗?

请在下面看到这个非常类似的问题。但由于我不允许在那里发表评论而我也没有答案,所以我提出了一个新问题。也许有人可以通过我的问题链接向那个人发表评论。感谢。

Running Spark EC2 scripts with IAM role

1 个答案:

答案 0 :(得分:0)

好的,我有3天这个问题,现在我在发布问题后直接解决了......做:

sudo yum update

将更新aws cli,之后该角色似乎有效。 我甚至可以在python中做到:

from boto.s3.connection import S3Connection
conn = S3Connection()
bucket = conn.get_bucket('my_bucket')
keys = bucket.list()