

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
<a name="emr-scaledown-behavior"></a>

**nota**  
Las opciones de comportamiento de reducción vertical ya no se admiten desde la versión 5.10.0 de Amazon EMR. Debido a la introducción de la facturación por segundo en Amazon EC2, el comportamiento predeterminado de reducción vertical para los clústeres de Amazon EMR ahora es terminarse al completar las tareas.

Con las versiones de 5.1.0 a 5.9.1 de Amazon EMR, existen dos opciones para el comportamiento de reducción vertical: terminarse en el límite de instancia por hora para la facturación de Amazon EC2 o terminarse al completar las tareas. A partir de la versión 5.10.0 de Amazon EMR, la configuración para la terminación en el límite por instancia y hora ha quedado obsoleta debido a la introducción de la facturación por segundo de 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 utilizas el AWS CLI para emitir un `modify-instance-groups``EC2InstanceIdsToTerminate`, estas instancias se cancelarán inmediatamente, sin tener en cuenta esta configuración e independientemente 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.

Cuando se especifica la terminación al completar la tarea, Amazon EMR envía a la lista negra y vacía las tareas de los nodos antes de terminar las instancias de Amazon EC2. Sea cual sea el comportamiento especificado, Amazon EMR no termina las instancias de Amazon EC2 de los grupos de instancias principales si ello puede dar lugar a que se dañen los datos de HDFS. 

## Terminación al completar las tareas
<a name="emr-scaledown-terminate-task"></a>

Amazon EMR le permite reducir verticalmente el clúster sin que ello afecte a su carga de trabajo. Amazon EMR intenta retirar de manera gradual YARN, HDFS y otros daemons en nodos principales y de tarea durante una operación de reducción de tamaño sin perder datos o interrumpir trabajos. 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 para su desmantelamiento.

**nota**  
Cuando se produce una retirada gradual, puede generarse una pérdida de datos. Asegúrese de hacer una copia de seguridad de los datos.

**importante**  
Es posible que los datos de HDFS se pierdan de forma permanente al aplicar la sustitución gradual a una instancia principal en mal estado. Le recomendamos que haga copias de seguridad de sus datos en todo momento.

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](http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/GracefulDecommission.html) en la documentación de Apache Hadoop.

### Grupos de nodos de tarea
<a name="emr-scaledown-task-nodes"></a>

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
<a name="emr-scaledown-core-nodes"></a>

En los nodos principales, los DataNode daemons de YARN NodeManager y HDFS deben estar fuera de servicio para reducir el tamaño del 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**  
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.
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.
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. 

# Configurar el comportamiento de reducción vertical de Amazon EMR
<a name="emr-scaledown-configure"></a>

**nota**  
La opción de comportamiento de reducción vertical con terminación de la instancia después de la hora ya no es compatible con la versión 5.10.0 y posteriores de Amazon EMR. Las siguientes opciones de comportamiento de reducción vertical solo aparecen en la consola de Amazon EMR para las versiones de 5.1.0 a 5.9.1.

Puede usar la Consola de administración de AWS API Amazon EMR o la API de Amazon EMR para configurar el comportamiento de reducción al crear un clúster. AWS CLI

------
#### [ Console ]

**Para configurar el comportamiento de reducción vertical 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.](https://console.aws.amazon.com/emr)

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

1. En la sección de **Opción de escalado y aprovisionamiento de clústeres**, elija **Uso de escalado automático personalizado**. En **Políticas de escalado automático personalizadas**, pulse el **botón de acción “más”** para añadir las políticas de **reducción horizontal**. Le recomendamos que añada políticas de **reducción horizontal** y políticas de **escalado horizontal**l. Al agregar solo un conjunto de políticas, Amazon EMR solo realizará un escalado unidireccional y usted tendrá que realizar las demás acciones manualmente.

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

1. Para lanzar el clúster, elija **Crear clúster**.

------
#### [ AWS CLI ]

**Para configurar el comportamiento de reducción de escala con el AWS CLI**
+ Use la opción `--scale-down-behavior` para especificar `TERMINATE_AT_INSTANCE_HOUR` o `TERMINATE_AT_TASK_COMPLETION`.

------