Uso de la protección de rescisión para proteger tus EMR clústeres de Amazon de un cierre accidental - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la protección de rescisión para proteger tus EMR clústeres de Amazon de un cierre accidental

La protección de terminación protege sus clústeres de la terminación accidental, lo que puede resultar especialmente útil para clústeres de larga duración que procesan cargas de trabajo críticas. Si la protección de terminación está habilitada en un clúster de ejecución prolongada, puede seguir terminando el clúster, pero primero debe quitar de forma explícita la protección de terminación de este. Esto ayuda a garantizar que EC2 las instancias no se cierren por accidente o error. Puede habilitar la protección de terminación al crear un clúster y también cambiar este ajuste en un clúster en ejecución.

Con la protección de rescisión habilitada, la TerminateJobFlows acción en Amazon EMR API no funciona. Los usuarios no pueden terminar el clúster con este comando API ni con el terminate-clusters comando de AWS CLI. APIDevuelve un error y CLI sale con un código de retorno distinto de cero. Cuando utilizas la EMR consola de Amazon para terminar un clúster, se te solicitará un paso adicional para desactivar la protección de terminación.

aviso

La protección de terminación no garantiza que los datos se conserven en caso de un error humano o de una solución alternativa, por ejemplo, si se emite un comando de reinicio desde la línea de comandos mientras se está conectado a la instancia que se utilizaSSH, si una aplicación o un script que se ejecuta en la instancia emite un comando de reinicio, o si Amazon o EC2 Amazon EMR API se utilizan para deshabilitar la protección de terminación. Esto también es cierto si estás ejecutando las EMR versiones 7.1 o superiores de Amazon y una instancia deja de estar en buen estado y es irrecuperable. Incluso con la protección de terminación habilitada, los datos guardados en el almacenamiento de la instancia, incluidos HDFS los datos, se pueden perder. Escriba salidas de datos en las ubicaciones de Amazon S3 y cree estrategias de copia de seguridad adecuadas para sus requisitos de continuidad empresarial.

La protección de terminación no afecta a la capacidad para escalar los recursos del clúster con cualquiera de las siguientes acciones:

Protección de rescisión y Amazon EC2

La configuración de protección de terminación de un EMR clúster de Amazon se corresponde con el DisableApiTermination atributo de todas las EC2 instancias de Amazon del clúster. Por ejemplo, si habilitas la protección de terminación en un EMR clúster, Amazon EMR se establece automáticamente en true DisableApiTermination para todas las EC2 instancias del EMR clúster. Lo mismo se aplica si inhabilitas la protección de terminación. Amazon establece EMR automáticamente DisableApiTermination el valor false para todas las EC2 instancias del EMR clúster. Si cancelas o reduces la escala de un clúster de Amazon EMR y, por EC2 ejemplo, la EC2 configuración de Amazon entra en conflicto, Amazon EMR prioriza la EMR configuración de Amazon sobre la DisableApiTermination configuración DisableApiStop and de Amazon EC2 y continúa cancelando la EC2 instancia.

Por ejemplo, puedes utilizar la EC2 consola de Amazon para activar la protección de rescisión en una EC2 instancia de Amazon de un EMR clúster con la protección de rescisión desactivada. Si cancelas o reduces el clúster con la EMR consola de Amazon, Amazon o Amazon EMRAPI, Amazon EMR anula la DisableApiTermination configuración, la establece en false y termina la instancia junto con las demás instancias. AWS CLI

También puedes usar la EC2 consola de Amazon para habilitar la protección contra interrupciones en una EC2 instancia de Amazon de un EMR clúster con la protección de terminación deshabilitada. Si cancelas o reduces el clúster, Amazon lo EMR establece en DisableApiStop false en Amazon EC2 y termina la instancia junto con las demás instancias.

Amazon EMR anula la DisableApiStop configuración solo cuando se termina o se reduce el tamaño de un clúster. Al activar o desactivar la protección de terminación en un EMR clúster, Amazon EMR no cambia la disableApiStop configuración de ninguna de las EC2 instancias del EMR clúster correspondiente.

importante

Si creas una instancia como parte de un EMR clúster de Amazon con protección de terminación y utilizas los AWS CLI comandos Amazon EC2 API o para modificar la instancia de forma que DisableApiTermination quede así yfalse, a continuación, Amazon EC2 API o AWS CLI los comandos ejecutan la TerminateInstances operación, la EC2 instancia de Amazon termina.

Protección de terminación y nodos en mal estado YARN

Amazon comprueba EMR periódicamente el YARN estado de Apache Hadoop de los nodos que se ejecutan en las EC2 instancias principales y de tareas de Amazon de un clúster. El servicio de verificación de estado informa del estado de NodeManager salud. Si un nodo presenta un informeUNHEALTHY, el controlador de EMR instancias de Amazon añade el nodo a una lista de denegación y no le asigna YARN contenedores hasta que vuelva a estar en buen estado. Según el estado de la protección de terminación, el reemplazo de nodos en mal estado y la versión de EMR lanzamiento de Amazon, Amazon EMR reemplazará la instancia en mal estado o dejará de asignar controladores a la instancia.

Protección de rescisión y rescisión tras la ejecución del paso

Cuando habilitas la rescisión tras la ejecución escalonada y también habilitas la protección por rescisión, Amazon EMR ignora la protección por rescisión.

Al enviar pasos a un clúster, puede establecer la propiedad ActionOnFailure para determinar qué sucede si el paso no puede completar su ejecución debido a un error. Los valores posibles para esta propiedad son TERMINATE_CLUSTER (TERMINATE_JOB_FLOW con versiones anteriores), CANCEL_AND_WAIT y CONTINUE. Para obtener más información, consulte Enviar trabajo a un EMR clúster de Amazon.

Si se produce un error en un paso que está configurado con el valor ActionOnFailure establecido enCANCEL_AND_WAIT, si la terminación tras la ejecución del paso está habilitada, el clúster finaliza sin ejecutar los pasos siguientes.

Si se produce un error en un paso que tiene la propiedad ActionOnFailure establecida en TERMINATE_CLUSTER, utilice la tabla de configuración mostrada a continuación para determinar el resultado.

ActionOnFailure Terminación tras la ejecución del paso Protección de terminación Resultado

TERMINATE_CLUSTER

Habilitado

Deshabilitad

El clúster termina

Habilitado

Habilitado

El clúster termina

Deshabilitad

Habilitado

El clúster continúa

Deshabilitad

Deshabilitad

El clúster termina

Protección de terminación e instancias de spot

EMRLa protección de rescisión de Amazon no impide que una instancia EC2 spot de Amazon se cancele cuando el precio spot supere el precio spot máximo.

Configuración de la protección de terminación al lanzar un clúster

Puede activar o desactivar la protección de terminación al lanzar un clúster mediante la consola AWS CLI, el o elAPI.

Para los clústeres de un solo nodo, la configuración de protección de terminación predeterminada es la siguiente:

  • Lanzamiento de un clúster mediante Amazon EMR Console: la protección de terminación está deshabilitada de forma predeterminada.

  • Lanzar un clúster mediante AWS CLI aws emr create-cluster: la protección de terminación está deshabilitada a menos que --termination-protected se especifique lo contrario.

  • Lanzamiento de un clúster mediante Amazon EMR API RunJobFlowCommand: la protección de terminación está deshabilitada a menos que el valor TerminationProtected booleano esté establecido en. true

Para los clústeres de alta disponibilidad, la configuración de protección de terminación predeterminada es la siguiente:

  • Lanzamiento de un clúster mediante Amazon EMR Console: la protección de terminación está habilitada de forma predeterminada.

  • Lanzar un clúster mediante AWS CLI aws emr create-cluster: la protección de terminación está deshabilitada a menos que --termination-protected se especifique lo contrario.

  • Lanzamiento de un clúster mediante Amazon EMR API RunJobFlowCommand: la protección de terminación está deshabilitada a menos que el valor TerminationProtected booleano esté establecido en. true

Console
Para activar o desactivar la protección de terminación al crear un clúster con la consola
  1. Inicia sesión en y abre la AWS Management Console EMR consola de Amazon en https://console.aws.amazon.com/emr.

  2. EMREC2En el panel de navegación de la izquierda, selecciona Clústeres y, a continuación, selecciona Crear clúster.

  3. Para la versión EMR de lanzamiento, seleccione emr-6.6.0 o posterior.

  4. En Terminación del clúster y reemplazo de nodos, asegúrese de que la opción Usar protección de terminación esté preseleccionada o desactive la selección para desactivarla.

  5. Elija cualquier otra opción que se aplique a su clúster.

  6. Para lanzar el clúster, elija Crear clúster.

AWS CLI
Para activar o desactivar la protección de terminación al crear un clúster mediante AWS CLI
  • Con el AWS CLI, puede lanzar un clúster con la protección de terminación habilitada con el create-cluster comando del --termination-protected parámetro. La protección de terminación está deshabilitada de forma predeterminada.

    En el siguiente ejemplo, se crea un clúster con la protección de terminación habilitada:

    nota

    Se incluyen caracteres de continuación de línea de Linux (\) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-7.3.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --termination-protected

    Para obtener más información sobre el uso de EMR los comandos de Amazon en AWS CLI, consultehttps://docs.aws.amazon.com/cli/latest/reference/emr.

Configuración de la protección de terminación para ejecutar clústeres

Puede configurar la protección de terminación para un clúster en ejecución utilizando la consola o la AWS CLI.

Console
Para activar o desactivar la protección de terminación para un clúster en ejecución con la consola
  1. Inicia sesión en y abre la AWS Management Console EMR consola de Amazon en https://console.aws.amazon.com/emr.

  2. EMREC2En el panel de navegación izquierdo, selecciona Clústeres y selecciona el clúster que deseas actualizar.

  3. En la pestaña Propiedades de la página de detalles del clúster, busque Terminación del clúster y seleccione Editar.

  4. Seleccione o anule la selección de la casilla Use la protección contra la terminación para activar o desactivar la característica. A continuación, seleccione Guardar cambios para confirmar.

AWS CLI
Para activar o desactivar la protección de terminación para un clúster en ejecución mediante el AWS CLI
  • Para habilitar la protección de terminación en un clúster en ejecución mediante la AWS CLI, utilice el comando modify-cluster-attributes con el parámetro --termination-protected. Para deshabilitarla, utilice el parámetro --no-termination-protected.

    El siguiente ejemplo habilita la protección de terminación en el clúster con un ID j-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --termination-protected

    En el siguiente ejemplo, se deshabilita la protección de terminación en el mismo clúster:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected