AWS EMR Cluster не запускается

Я пытаюсь запустить кластер AWS EMR из консоли AWS и получаю следующую ошибку:

Failed to provision ec2 instances because 'IAM Instance Profile "arn:aws:iam::553706642095:instance-profile/EMR_EC2_DefaultRole" has no associated IAM Roles

Кто-нибудь знает, что это значит и как это решить?

Ниже приводится ролевая политика:

{
  "Statement": [
    {
      "Action": [
        "cloudwatch:*",
        "dynamodb:*",
        "ec2:Describe*",
        "elasticmapreduce:Describe*",
        "rds:Describe*",
        "s3:*",
        "sdb:*",
        "sns:*",
        "sqs:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

Документ его политики доверия:

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

person NSA    schedule 06.02.2015    source источник


Ответы (4)


Я наконец решил эту проблему. Это сбивало с толку, потому что профиль экземпляра и роль по умолчанию используют одно и то же имя. Полный перечень шагов приведен ниже, но вы можете пропустить различные шаги.

  1. Создайте роли по умолчанию (в случае ошибки перейдите на версию awscli 1.10.30)

    aws emr create-default-roles

  2. Создайте профиль экземпляра, если он еще не существует:

    aws iam create-instance-profile --instance-profile-name EMR_EC2_DefaultRole

  3. Убедитесь, что профиль экземпляра существует, но не имеет ролей:

    aws iam get-instance-profile --instance-profile-name EMR_EC2_DefaultRole

  4. Добавьте роль, используя:

    aws iam add-role-to-instance-profile --instance-profile-name EMR_EC2_DefaultRole --role-name EMR_EC2_DefaultRole

person python1981    schedule 21.07.2016

У вас есть разрешение только на чтение для EMR

"elasticmapreduce: Describe *",

Вам необходимо предоставить полный доступ к сокращению эластичной карты, чтобы вы могли запустить кластер / завершить работу

как только вы предоставите эту политику ролей доступа, она будет выглядеть как

"elasticmapreduce: *",

person Sandesh Deshmane    schedule 09.02.2015

Я попробовал и смог заставить его работать без инструмента, используя мой собственный стек Cloudformation.

Ключ, который у вас должен быть InstanceProfile для роли потока, и роль потока и службы должны быть предоставлены как ARN.

Вот как я заставил его работать на меня!

Надеюсь, что это поможет и кому-то другому.

person lony    schedule 30.08.2016

У меня такая же проблема. Вместо того, чтобы давать новое имя кластера, я просто сохранил то же имя кластера по умолчанию «Мой кластер» и снова щелкнул «Создать кластер». Он создан без этой ошибки.

person Bala    schedule 30.12.2016