Sustitución de nodos en mal estado con Amazon EMR
Amazon EMR utiliza periódicamente el servicio de comprobación de estado de NodeManager
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. La documentación de Apache Hadoop ofrece más detalles 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 así, puede conectarse a una instancia principal de Amazon EC2 para la configuración y recuperación, así como cambiar el tamaño del clúster si necesita más 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 la sustitución de 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 habilitar o deshabilitar la sustitución de un nodo en mal estado al lanzar un clúster con la consola, la AWS CLI o la API.
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 usted especifique--no-unhealthy-node-replacement. -
Comando de la API RunJobFlow de Amazon EMR: la sustitución de nodos en mal estado está habilitada de forma predeterminada, a menos que establezca el valor booleano
UnhealthyNodeReplacementenTrueoFalse.
Configuración de la sustitución de nodos en mal estado en un clúster en ejecución
Para activar o desactivar la sustitución de nodos en mal estado en un clúster en ejecución mediante la consola, la AWS CLI o la API.