¿Por qué mi clúster de Amazon EMR no se inicia y muestra el error «la acción de arranque devolvió un código de devolución distinto de cero»?

3 minutos de lectura
0

He creado una acción de arranque personalizada para mi clúster de Amazon EMR. El clúster no se inicia y la acción de arranque devuelve un error similar al siguiente: «La acción de arranque 1 devolvió un código de devolución distinto de cero».

Descripción corta

Las acciones de Bootstrap se ejecutan después de que Amazon EMR aprovisione las instancias de Amazon Elastic Compute Cloud (Amazon EC2) en el clúster. Cuando se produce un error en una acción de arranque, Amazon EMR termina la instancia. Para obtener más información, consulte Descripción del ciclo de vida del clúster.

Si se produce un error en una acción de arranque debido a un error en el script de arranque, el clúster no se puede iniciar. Para obtener más información, consulte ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html#bootstrapUses)Conceptos básicos de acción de Bootstrap[.

Resolución

Para determinar por qué falló una acción de arranque, revise los registros de stderr de su acción de arranque. Estos registros se encuentran en la ruta de Amazon Simple Storage Service (Amazon S3) o LogURI que configuró anteriormente al crear el clúster de Amazon EMR.

Ejemplo: s3://example-log-location/example-cluster-id/node/example-instance-id/bootstrap-actions/

Si no puede determinar por qué falló el script después de revisar los registros de stderr, modifique el script para proporcionar información de depuración adicional. Por ejemplo, defina los parámetros -ex en el script bash. Esto le permite ver el flujo del script bash en los archivos de registro de las acciones de bootstrap.

#!/bin/bash
set -x -e

Nota: Si la acción de arranque fallida no es una acción de arranque que haya creado (por ejemplo, si ha creado seis acciones de arranque y ve el mensaje de error «La acción de arranque 7 falló con un código de salida distinto de cero»), ese mensaje de error indica que Amazon EMR no pudo instalar aplicaciones ni iniciar servicios.

Para solucionar este problema, consulte los registros de aprovisionamiento de Amazon EMR. Amazon EMR usa Puppet para instalar y configurar aplicaciones en un clúster. Los registros pueden proporcionar información sobre los errores causados durante el aprovisionamiento del clúster.

Puede acceder a estos registros en el clúster o en S3 si ha configurado los registros para que se carguen en S3. Los registros se almacenan en /var/log/provision-node/apps-phase/0/example-UUID}/puppet.log en el disco y s3://example-log-location/example-cluster-id/node/example-instance-id/provision-node/apps-phase/0/{UUID}/puppet.log.gz.


Información relacionada

Uso de acciones de arranque personalizadas

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año