【问题标题】:Error when creating aws emr default-roles创建 aws emr 默认角色时出错
【发布时间】:2019-08-01 14:58:45
【问题描述】:

我正在尝试使用 aws cli emr 命令创建集群。但是,我似乎无法在调用 aws emr create-cluster 之前创建所需的默认角色

$ aws emr create-default-roles

A client error (NoSuchEntity) occurred when calling the GetRole operation: Unknown

我已确保我的用户具有以下权限:

IAMFullAccess - AWS Managed policy
AmazonElasticMapReduceforEC2Role - AWS Managed policy
AmazonElasticMapReduceFullAccess - AWS Managed policy

有什么建议吗?有没有一个地方我可以复制角色 json 并手动创建它们?

我开始这样做的原因是,当我运行aws emr create-cluster 时,它会返回一个cluster-id。但是当 cluster-id 是查询时,它的状态设置为终止并出现错误:EMR service role arn:aws:iam::141703095098:role/EMR_DefaultRole is invalid

【问题讨论】:

  • 您的AWS Command-Line Interface (CLI) 是否适用于其他命令?比如aws s3 ls可以吗?如果您通过控制台启动集群,它也会为您创建角色。
  • 它可以工作,create-cluster 也可以工作,但它以错误 EMR service role arn:aws:iam::141703095098:role/EMR_DefaultRole is invalid 终止

标签: amazon-web-services aws-cli elastic-map-reduce


【解决方案1】:

我确实设法通过以下方式使用控制台添加了这些角色:

我的安全凭证 > 角色 > 创建新角色

具有以下属性的第一个角色:

name: EMR_DefaultRole
policy: AmazonElasticMapReduceRole

具有以下属性的第二角色:

name: EMR_EC2_DefaultRole
policy: AmazonElasticMapReduceforEC2Role

不幸的是我没有让命令行工作,但我怀疑我可能与我的本地设置有关。

【讨论】:

  • 我实际上也遇到了这个问题。我会按照您在控制台中的建议进行尝试。这可能是一个 cli 错误吗?
  • 通过控制台添加这些角色后,我就能够创建集群了。
  • @bblincoe 是的,我建议在尝试控制台解决方案之前开始一个新的终端会话并再次尝试 CLI
【解决方案2】:

我遇到了控制台问题。与客户一起工作:

# 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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多