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 forma adecuada, Amazon EMR lo marca como en mal estado, y el verificador de estado informa el nodo al controlador de Amazon EMR. El controlador de Amazon EMR agrega ese nodo a una lista de denegación para impedir que reciba nuevas aplicaciones de YARN hasta que su estado mejore.

nota

Una causa frecuente de un nodo en mal estado es la falta de espacio en disco. Para obtener más información sobre cuándo un nodo principal casi se queda sin espacio en disco, consulte el siguiente artículo del Centro de conocimientos de re:Post: Why is the core node in my Amazon EMR cluster running out of disk space?.

nota

Hadoop permite ejecutar comprobaciones de estado personalizadas para 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 el reemplazo de nodos en mal estado, estos permanecen en la lista de denegación y siguen contando dentro 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 el reemplazo y la terminación de nodos, consulte Using termination protection.

Si habilita el reemplazo de nodos en mal estado, Amazon EMR termina el nodo principal afectado y aprovisiona una instancia nueva, según la cantidad definida en el grupo de instancias o la capacidad objetivo configurada en flotas de instancias. Si uno o varios nodos permanecen en mal estado durante más de 45 minutos, Amazon EMR sustituirá los nodos de forma gradual. Si la retirada gradual de un nodo no concluye en una hora, Amazon EMR termina la instancia de manera forzada, a menos que hacerlo reduzca el clúster por debajo del factor de replicación o de los requisitos de capacidad de HDFS.

importante

Tenga en cuenta que el tiempo necesario para completar la retirada gradual o la terminación de un nodo puede variar.

Aunque el reemplazo de nodos en mal estado reduce de manera significativa el riesgo de pérdida de datos, no elimina el riesgo por completo. Los datos de HDFS pueden perderse de forma permanente al aplicar la sustitución gradual a una instancia principal en mal estado. Le recomendamos mantener copias de seguridad de sus datos en todo momento.

Para obtener más información sobre cómo identificar y recuperar los nodos en mal estado, consulte Errores de recursos. Además, si desea consultar más prácticas recomendadas para conservar el buen estado de un clúster, revise la documentación correspondiente al error de recursos El clúster de Amazon EMR finaliza con NO_SLAVE_LEFT y los nodos básicos 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 Consola de administración de AWS 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.12.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 Consola de administración de AWS 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