que medicina amazon-web-services amazon-s3 hive

amazon-web-services - medicina - que es amazon emr



La función del servicio EMR no es válida cuando se crea el clúster EMR (2)

El problema no está en el cubo sino en que falta el rol IAM esperado.

Ver http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-iam-roles-creatingroles.html#emr-iam-roles-createdefaultwithcli

Emita el comando AWS CLI:

aws emr create-default-roles

Luego crea el cluster nuevamente. Este es un paso de una sola vez necesario para crear los roles predeterminados.

  • nota: cuidado con el uso de una versión reciente de aws cli, tuve problemas con 1.4 (paquete debian jessie)

  • nota 2: tomada de mrjob code y amazon annoucments:

    El perfil de instancia y el rol de servicio son necesarios para las cuentas creadas después del 6 de abril de 2015 y eventualmente se requerirán para todas las cuentas.

Después de crear el Amazon S3 Bucket, my_bucket , creé un clúster Elastic Map Reduce a través del cli:

aws emr create-cluster --name "Hive testing" --ami-versión 3.3 --aplicaciones Name = Hive --use-default-roles --instance-type m3.xlarge --instance-count 3 --ps Type = Hive, Name = "Hive Program", Args = [-d, INPUT = s3: //my_bucket/input,-d.OUTPUT=s3: // my_bucket / input, -d-LIBS = s3: // my_bucket / serde_libs ]

Tenga en cuenta que no especifiqué un archivo hive * .q . Después de crear el clúster S3 y EMR, iniciaré sesión en el cuadro EMR y ejecutaré la hive interactiva.

Nota : supongo que hay un cuadro EMR en el que puedo iniciar sesión.

Sin embargo, cuando ejecuté aws emr describe-cluster --cluster-id XYZ , vi este error en el resultado:

"State": "TERMINATED_WITH_ERRORS", "StateChangeReason": { "Message": "EMR service role arn:aws:iam::xyz:role/EMR_DefaultRole is invalid", "Code": "VALIDATION_ERROR" }

¿Qué causaría este error? ¿Debo abrir permisos en el depósito S3 para que el clúster EMR pueda acceder a él?


He visto surgir este problema al crear funciones de servicio personalizadas y asignar el servicio principal incorrecto.

Este ejemplo generará ese error:

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

Este ejemplo no:

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

Para obtener más información, consulte aquí: http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-mgmt.pdf#emr-plan-access-iam