Sustitución de nodos en mal estado con Amazon EMR - 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.

Sustitución de nodos en mal estado con Amazon EMR

Amazon EMR utiliza periódicamente el servicio de NodeManager comprobación de estado de Apache Hadoop para supervisar los estados de los nodos principales de sus clústeres de Amazon EMR en Amazon. EC2 Si un nodo no funciona de manera óptima, se marca como en mal estado y el comprobador de estado lo notifica al controlador de Amazon EMR. El controlador Amazon EMR añade el nodo a una lista de denegaciones, lo que impide que el nodo reciba nuevas aplicaciones YARN hasta que el estado del nodo mejore.

nota

Una razón común por la que un nodo está en mal estado es que no tiene espacio en disco. Para obtener más información acerca de cuándo un nodo principal está casi sin espacio en disco, puede resultarle útil el siguiente artículo del Re:post Knowledge Center: ¿Por qué el nodo principal de mi clúster de Amazon EMR se está quedando sin espacio en disco?

nota

Hadoop ofrece la posibilidad de ejecutar comprobaciones personalizadas del estado de los nodos. Esto se explica con más detalle en la documentación de Apache Hadoop en. NodeManager

Puede elegir si Amazon EMR debe finalizar los nodos en mal estado o mantenerlos en el clúster. Si desactiva la sustitución de nodos que no estén en buen estado, permanecerán en la lista de rechazados y seguirán siendo parte de la capacidad del clúster. Aún puedes conectarte a tu instancia EC2 principal de Amazon para la configuración y la recuperación, de modo que puedes cambiar el tamaño del clúster si quieres añadir capacidad. Para obtener más información sobre cómo funcionan la sustitución y la terminación de nodos, consulta Cómo usar la protección de terminación.

Si se activa el reemplazo de nodos en mal estado, Amazon EMR termina un nodo principal en mal estado y aprovisiona una nueva instancia, en función del número de instancias del grupo de instancias o en función de la capacidad objetivo, por ejemplo, las flotas de instancias. Si algún nodo está en mal estado durante más de 45 minutos, Amazon EMR lo sustituirá sin problemas. Si el desmantelamiento correcto de un nodo no se completa en una hora, el nodo se cierra forzosamente, a menos que al terminarlo el clúster quede por debajo del factor de replicación o de las restricciones de capacidad de HDFS.

importante

Tenga en cuenta que el tiempo que tarda un nodo en ser desmantelado o cerrado sin problemas puede estar sujeto a cambios.

Si bien la sustitución de nodos en mal estado reduce considerablemente la posibilidad de pérdida de datos, no elimina el riesgo por completo. Los datos de HDFS pueden perderse de forma permanente si se reemplaza correctamente una instancia principal en mal estado. Le recomendamos que siempre haga una copia de seguridad de sus datos.

Para obtener más información sobre cómo identificar y recuperar los nodos en mal estado, consulte Errores de recursos. Además, para obtener más información sobre las prácticas recomendadas que puede seguir para mantener el estado de un clúster, consulte la siguiente documentación para conocer el error de recurso El clúster de Amazon EMR termina con NO_SLAVE_LEFT y los nodos principales FAILED_BY_MASTER.

Amazon EMR publica Amazon CloudWatch Events para reemplazar nodos en mal estado, de modo que pueda realizar un seguimiento de lo que sucede con sus instancias principales en mal estado. Para obtener más información, consulte los eventos de sustitución de nodosen mal estado.

Configuración predeterminada de protección de reemplazo y finalización de nodos

La sustitución de nodos en mal estado está disponible en todas las versiones de Amazon EMR, pero la configuración predeterminada depende de la etiqueta de versión que elija. Puede cambiar cualquiera de estos ajustes configurando la sustitución de nodos en mal estado al crear un nuevo clúster o pasando a la configuración del clúster en cualquier momento.

Si va a crear un clúster de un solo nodo o un clúster de alta disponibilidad que ejecute Amazon EMR en su versión 7.0 o anteriores, la configuración predeterminada de sustitución de nodos en mal estado depende de la protección de finalización:

  • Al habilitar la protección de finalización, se deshabilita la sustitución de nodos en mal estado.

  • La deshabilitación de la protección de finalización permite sustituir los nodos en mal estado.

Configuración de la sustitución de nodos en mal estado al lanzar un clúster

Puede activar o desactivar el reemplazo de nodos en mal estado al lanzar un clúster mediante la consola AWS CLI, la API o la consola.

La configuración predeterminada de sustitución de nodos en mal estado depende de cómo se lance el clúster:

  • Consola Amazon EMR: la sustitución de nodos en mal estado está habilitada de forma predeterminada.

  • AWS CLI aws emr create-cluster— la sustitución de nodos en mal estado está habilitada de forma predeterminada, a menos que lo especifiques--no-unhealthy-node-replacement.

  • Comando de la RunJobFlow API Amazon EMR: la sustitución de nodos en mal estado está habilitada de forma predeterminada, a menos que establezca el valor UnhealthyNodeReplacement booleano en o. True False

Console
Para activar o desactivar la sustitución de nodos en mal estado al crear un clúster con la consola
  1. Inicie sesión en y abra la AWS Management Console consola de Amazon EMR en https://console.aws.amazon.com /emr.

  2. En EMR activado, EC2 en el panel de navegación izquierdo, elija Clústeres y, a continuación, elija Crear clúster.

  3. Para la versión de lanzamiento de EMR, elija la etiqueta de versión de Amazon EMR que desee.

  4. En Finalización del clúster y sustitución del nodo, asegúrese de que la opción Sustitución de nodo en mal estado (recomendada) esté preseleccionada o anule 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 sustitución de nodos en mal estado al crear un clúster mediante AWS CLI
  • Con el AWS CLI, puede lanzar un clúster con el reemplazo de nodos en mal estado habilitado con el create-cluster comando del --unhealthy-node-replacement parámetro. La sustitución de nodos en mal estado está activada de forma predeterminada.

    En el siguiente ejemplo, se crea un clúster con la opción de sustitución de nodos en mal estado 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 "SampleCluster" --release-label emr-7.9.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --unhealthy-node-replacement

    Para obtener más información sobre el uso de los comandos de Amazon EMR en AWS CLI, consulte Comandos de Amazon EMR. AWS CLI

Configuración de la sustitución de nodos en mal estado en un clúster en ejecución

Puede activar o desactivar el reemplazo de nodos en mal estado en un clúster en ejecución mediante la consola AWS CLI, la API o la misma.

Console
Para activar o desactivar la sustitución de nodos en mal estado al crear un clúster en ejecución con la consola
  1. Inicie sesión en y abra la AWS Management Console consola de Amazon EMR en https://console.aws.amazon.com /emr.

  2. En EMR activado, EC2 en el panel de navegación izquierdo, elija Clústeres y seleccione el clúster que desee actualizar.

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

  4. Seleccione o anule la selección de la casilla de verificación de sustitución de nodos en mal estado para activar o desactivar la característica. A continuación, seleccione Guardar cambios para confirmar.

AWS CLI
Para activar o desactivar la sustitución de nodos en mal estado en un clúster en ejecución mediante el AWS CLI
  • Para activar la sustitución de nodos en mal estado en un clúster en ejecución con la AWS CLI, utilice el comando modify-cluster-attributes con el parámetro --unhealthy-node-replacement. Para deshabilitarla, utilice el parámetro --no-unhealthy-node-replacement.

    En el siguiente ejemplo, se activa la sustitución de nodos defectuosos en el clúster por un IDj-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --unhealthy-node-replacement

    En el siguiente ejemplo, se desactiva la sustitución de nodos en mal estado en el mismo clúster:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-unhealthy-node-replacement