我尝试使用aws cli emr命令创建群集。但是,在调用get_json()
之前,我似乎无法创建默认角色
aws emr create-cluster
我确保我的用户具有以下权限:
$ aws emr create-default-roles
A client error (NoSuchEntity) occurred when calling the GetRole operation: Unknown
任何提示?有没有我可以复制角色json并手动创建它们的地方?
我开始这样做的原因是因为当我运行IAMFullAccess - AWS Managed policy
AmazonElasticMapReduceforEC2Role - AWS Managed policy
AmazonElasticMapReduceFullAccess - AWS Managed policy
时,它会返回aws emr create-cluster
。但是当cluster-id
是查询时,状态将设置为终止,并显示错误:cluster-id
答案 0 :(得分:4)
我DID设法通过转到:
使用控制台添加这些角色我的安全凭证>角色>创建新角色
具有以下属性的第一个角色:
this.x=clone(y);
具有以下属性的第二个角色:
name: EMR_DefaultRole
policy: AmazonElasticMapReduceRole
不幸的是我没有让命令行工作,但我怀疑我可能与我的本地设置有关。
答案 1 :(得分:0)
我在控制台上遇到问题。与客户一起工作:
# upgrade aws cli (can't hurt)
pip install --upgrade --user awscli
# aws configure process if you haven't (look it up)
# delete all the defunct shizzles
aws iam remove-role-from-instance-profile --instance-profile-name EMR_EC2_DefaultRole \
--role-name EMR_EC2_DefaultRole
aws iam delete-instance-profile \
--instance-profile-name EMR_EC2_DefaultRole
aws iam detach-role-policy \
--role-name EMR_EC2_DefaultRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role
aws iam delete-role --role-name EMR_EC2_DefaultRole
aws iam detach-role-policy --role-name EMR_DefaultRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceRole
aws iam delete-role --role-name EMR_DefaultRole
# now re-create them
aws emr create-default-roles
请注意,如果您已附加了策略,则可能必须进入控制台并删除它们或找到适当的aws cli命令。
来源(我们的产品存在故障,我们的角色系统繁琐,但是如果您购买高级支持,我们将告诉您解决方法): https://aws.amazon.com/premiumsupport/knowledge-center/emr-default-role-invalid/