AWS 使用 boto3 自动缩放创建 EMR 无法正常工作

Posted

技术标签:

【中文标题】AWS 使用 boto3 自动缩放创建 EMR 无法正常工作【英文标题】:AWS Create EMR using boto3 Autoscaling not working properly 【发布时间】:2019-05-19 19:39:57 【问题描述】:

我使用 boto3 自动缩放 emr,然后使用 EMR_AutoScaling_DefaultRole 自动缩放它。自动缩放无法正常工作:

最初它会发出警告

政策正在等待附件。

最后没有给出错误

Amazon EMR 集群 j-XXXXXXXXXXXX (test_emr...) 中实例组 ig-XXXXXXXXXXXX 的 Auto Scaling 策略在 2018 年 12 月 19 日 10:03 UTC 无法附加并失败。

如何分配 Autoscaling 角色?

【问题讨论】:

重新格式化问题 【参考方案1】:

除了@Harsh Bafna 的回答。您还需要为 EMR_AutoScaling_DefaultRole 角色设置信任关系策略。


  "Version": "2012-10-17",
  "Statement": [
    
      "Effect": "Allow",
      "Principal": 
        "Service": [
          "application-autoscaling.amazonaws.com",
          "elasticmapreduce.amazonaws.com"
        ]
      ,
      "Action": "sts:AssumeRole"
    
  ]

【讨论】:

【参考方案2】:

您需要将 AmazonElasticMapReduceforAutoScalingRole 策略添加到 EMR_AutoScaling_DefaultRole。

转到“IAM > Roles > EMR_AutoScaling_DefaultRole”并在权限选项卡中单击附加并添加 AmazonElasticMapReduceforAutoScalingRole。

此外,要对这些故障进行故障排除,您可以使用 CLI 中的 describe-cluster 命令。响应将包括 Auto Scaling 策略状态,如果策略附加失败,则会给出错误消息以显示失败原因。

【讨论】:

我在 IAM 中找不到“EMR_AutoScaling_DefaultRole”角色。 @GirishJambkar :您能否确保您的用户有权将角色附加到已运行的 EC2/EMR 节点。我还通过实际错误的故障排除步骤更新了答案。 @GirishJambkar 欢迎。如果它帮助您解决问题,请接受答案。 :-) 是的,绝对苛刻!!!它帮助我解决了这个问题。除此之外,我们需要设置信任关系策略,如回复中提到的 Ritesh。

以上是关于AWS 使用 boto3 自动缩放创建 EMR 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

正在寻找将 aws pig 步骤注入已经运行的 emr 的 boto3 python 示例?

您如何使用 boto3(或其他方式)在 emr 上自动化 pyspark 作业?

使用 Boto3 基于 AMI 创建 EMR 集群

使用 boto3 创建自动缩放组 amazon ec2 时出现关键错误

python 使用Wordcount作业创建EMR群集作为Boto3中的步骤

使用 boto3 将现有 EMR 集群克隆到新集群中