我无法通过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; ..
我错过了什么吗?
请在下面看到这个非常类似的问题。但由于我不允许在那里发表评论而我也没有答案,所以我提出了一个新问题。也许有人可以通过我的问题链接向那个人发表评论。感谢。
答案 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()