Opciones de reducción vertical de clústeres para clústeres de 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.

Opciones de reducción vertical de clústeres para clústeres de Amazon EMR

nota

Las opciones de comportamiento de reducción vertical ya no se admiten desde la versión 5.10.0 de Amazon EMR. Gracias a la introducción de la facturación por segundo en Amazon EC2, el comportamiento de reducción predeterminado de los clústeres de Amazon EMR ahora finaliza al finalizar la tarea.

Con las versiones 5.1.0 a 5.9.1 de Amazon EMR, hay dos opciones para el comportamiento de reducción: finalizar en el límite de una hora de la instancia para la facturación de Amazon o finalizar al finalizar la tarea. EC2 A partir de la versión 5.10.0 de Amazon EMR, la configuración de rescisión en el límite de una hora de instancia ha quedado obsoleta debido a la introducción de la facturación por segundo en Amazon. EC2 No recomendamos especificar la terminación en el límite por instancia y hora en las versiones en las que la opción está disponible.

aviso

Si utiliza la AWS CLI para emitir unEC2InstanceIdsToTerminate, estas instancias se cancelan inmediatamente, sin tener en cuenta esta configuración y modify-instance-groups con independencia del estado de las aplicaciones que se estén ejecutando en ellas. Terminar una instancia de esta forma conlleva el riesgo de pérdida de datos y de un comportamiento del clúster imprevisible.

Si se especifica la terminación al finalizar la tarea, Amazon EMR deniega las listas y las vacía de los nodos antes de terminar las instancias de Amazon. EC2 Con cualquiera de los dos comportamientos especificados, Amazon EMR no termina las instancias de Amazon en EC2 los grupos de instancias principales si esto pudiera provocar daños en el HDFS.

Terminación al completar las tareas

Amazon EMR le permite reducir verticalmente el clúster sin que ello afecte a su carga de trabajo. Amazon EMR intenta desmantelar fácilmente YARN, HDFS y otros demonios de los nodos principales y de tareas durante una operación de redimensionamiento sin perder datos ni interrumpir las tareas. Amazon EMR solo reduce el tamaño de los grupos de instancias si el trabajo asignados a los grupos se ha completado y están inactivos. En el caso de YARN NodeManager Graceful Decommission, puedes ajustar manualmente el tiempo que espera un nodo a su desmantelamiento.

nota

Cuando se produce un desmantelamiento correcto, puede producirse una pérdida de datos. Asegúrese de hacer una copia de seguridad de sus datos.

importante

Es posible que los datos de HDFS se pierdan de forma permanente al sustituir sin problemas una instancia principal en mal estado. Le recomendamos que siempre haga una copia de seguridad de sus datos.

Este tiempo se establece mediante una propiedad de la clasificación de configuración YARN-site. Si utiliza la versión 5.12.0 o una posterior de Amazon EMR, especifique la propiedad YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs. Si utiliza versiones anteriores de Amazon EMR, especifique la propiedad YARN.resourcemanager.decommissioning.timeout.

Si sigue habiendo contenedores en ejecución en aplicaciones YARN cuando transcurre el tiempo de espera de retirada, se obliga la retirada del nodo y las reprogramaciones de YARN afectan a contenedores de otros nodos. El valor predeterminado es de 3 600 segundos (una hora). Puede definir este tiempo de espera con un valor arbitrariamente alto para obligar a que la reducción con gracia espere más. Para obtener más información, consulte Graceful Decommission of YARN Nodes en la documentación de Apache Hadoop.

Grupos de nodos de tarea

Amazon EMR selecciona de manera inteligente las instancias que no tienen tareas ejecutándose en ningún paso o aplicación y las elimina de un clúster en primer lugar. Si se están utilizando todas las instancias del clúster, Amazon EMR espera a que las tareas se completen en una instancia antes de eliminarla del clúster. El tiempo de espera predeterminado es de 1 hora. Este valor se puede cambiar con la configuración YARN.resourcemanager.decommissioning.timeout. Amazon EMR utiliza de forma dinámica la nueva configuración. Puede establecerlo en un número arbitrariamente grande para garantizar que Amazon EMR no termine ninguna tarea y, al mismo tiempo, reduzca el tamaño del clúster.

Grupos de nodos principales

En los nodos principales, se deben retirar los DataNode daemons de YARN NodeManager y HDFS para reducir el grupo de instancias. Para YARN, la reducción con gracia garantiza que un nodo marcado para retirada solo pase al estado DECOMMISSIONED si no hay contenedores o aplicaciones pendientes o incompletos. La retirada finaliza de inmediato si no hay contenedores en ejecución en el nodo al principio de la retirada.

Para HDFS, la reducción con gracia garantiza que la capacidad de destino de HDFS sea lo suficientemente grande como para adaptarse a todos los bloques existentes. Si la capacidad de destino no es lo suficientemente grande, solo una cantidad parcial de las instancias secundarios se retiran de forma que los nodos restantes pueden gestionar los datos actuales residentes en HDFS. Debe garantizar una capacidad de HDFS adicional para permitir una retirada adicional. También debes intentar minimizar la escritura I/O antes de intentar reducir los grupos de instancias. Una escritura excesiva I/O puede retrasar la finalización de la operación de cambio de tamaño.

Otro límite es el factor de replicación predeterminado, dfs.replication dentro de /etc/hadoop/conf/hdfs-site. Cuando crea un clúster, Amazon EMR configura el valor en función del número de instancias en el clúster: 1 con 1-3 instancias, 2 para clústeres con 4-9 instancias y 3 para clústeres con 10 o más instancias.

aviso
  1. Establecer dfs.replication en 1 en clústeres con menos de cuatro nodos puede conllevar la pérdida de datos del HDFS si un solo nodo deja de funcionar. Se recomienda que utilice un clúster con al menos cuatro nodos principales para las cargas de trabajo de producción.

  2. Amazon EMR no permitirá que los clústeres escalen los nodos principales por debajo de dfs.replication. Por ejemplo, si dfs.replication = 2, el número mínimo de nodos principales es 2.

  3. Cuando utiliza el escalado administrado, el escalado automático o decide cambiar el tamaño del clúster manualmente, se recomienda que establezca dfs.replication en 2 o más.

La reducción con gracia no permite reducir los nodos principales por debajo del factor de replicación de HDFS. Esto permite que HDFS cierre archivos debido a la falta de réplicas. Para evitar este límite, reduzca el factor de replicación y reinicie el NameNode daemon.