我尝试创建新的 Amazon EMR 集群时,收到以下其中一个错误消息:

  • "EMR_DefaultRole is invalid"
  • "EMR_EC2_DefaultRole is invalid"

与默认角色关联的 Amazon Elastic Compute Cloud (Amazon EC2) 实例配置文件未正确配置时,会发生这些错误。删除角色和实例配置文件。然后,重新创建角色。

在开始之前,请注意以下事项:

  • 确保您没有使用即将删除的角色或实例配置文件运行的任何 EC2 实例。如果删除与正在运行的实例关联的角色或实例配置文件,会中断正在实例上运行的任何应用程序。
  • 以下步骤会将 EMR_DefaultRoleEMR_EC2_DefaultRole 重置为原始配置。如果您已自定义附加到这些角色的 AWS Identity and Access Management (IAM) 策略,这些更改会丢失。

使用 AWS 管理控制台删除角色和实例配置文件

1.    使用 IAM 控制台删除角色。使用控制台删除角色时,IAM 也会自动删除与角色关联的实例配置文件和策略。

2.    打开 Amazon EMR 控制台

3.    创建集群,但保留指定的默认角色。您可以使用快速选项高级选项执行此操作。Amazon EMR 在启动集群时会自动创建角色。然后,这些角色可供您稍后启动的任何集群使用。

使用 AWS 命令行界面 (AWS CLI) 删除角色和实例配置文件

1.    从实例配置文件中删除 EMR_EC2_DefaultRole

aws iam remove-role-from-instance-profile --instance-profile-name EMR_EC2_DefaultRole --role-name EMR_EC2_DefaultRole

2.    删除实例配置文件:

aws iam delete-instance-profile --instance-profile-name EMR_EC2_DefaultRole

3.    删除与 EMR_EC2_DefaultRole 关联的 IAM 策略:

aws iam detach-role-policy --role-name EMR_EC2_DefaultRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role

4.    删除 EMR_EC2_DefaultRole

aws iam delete-role --role-name EMR_EC2_DefaultRole

5.    删除与 EMR_DefaultRole 关联的 IAM 策略:

aws iam detach-role-policy --role-name EMR_DefaultRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceRole

6.    删除 EMR_DefaultRole

aws iam delete-role --role-name EMR_DefaultRole

7.    运行 create-default-roles 以重新创建默认角色:

aws emr create-default-roles

8.    启动新的 Amazon EMR 集群。


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2016 年 9 月 30 日

更新时间:2019 年 2 月 12 日