Uso del escalado administrado en 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.

Uso del escalado administrado en Amazon EMR

importante

Le recomendamos encarecidamente que utilice la versión más reciente de Amazon EMR (Amazon EMR 7.1.0) para gestionar el escalado. En las versiones anteriores, era posible que se produjeran errores intermitentes en las aplicaciones o retrasos en el escalado. Amazon EMR resolvió este problema en las versiones 5.x: (5.30.2, 5.31.1, 5.32.1, 5.33.1 y posteriores) y las versiones 6.x (6.1.1, 6.2.1, 6.3.1 y posteriores). Para obtener más información sobre la disponibilidad de las versiones y las regiones, consulte Disponibilidad de Escalado administrado.

Información general

Con las versiones 5.30.0 y posteriores de Amazon EMR (excepto la versión 6.0.0 de Amazon EMR), puede habilitar el Escalado administrado de Amazon EMR. El escalado administrado le permite aumentar o disminuir automáticamente el número de instancias o unidades del clúster en función de la carga de trabajo. Amazon EMR evalúa continuamente las métricas del clúster para tomar decisiones de escalado que optimicen los clústeres en cuanto al costo y la velocidad. El escalado administrado está disponible para clústeres compuestos por grupos de instancias o flotas de instancias.

Disponibilidad de Escalado administrado

  • A continuación Regiones de AWS, el escalado gestionado de Amazon EMR está disponible con Amazon EMR 6.14.0 y versiones posteriores:

    • Asia Pacífico (Hyderabad) (ap-south-2)

    • Asia-Pacífico (Yakarta) (ap-southeast-3)

    • Europa (España) (eu-south-2)

  • A continuación Regiones de AWS, el escalado gestionado de Amazon EMR está disponible con Amazon EMR 5.30.0 y 6.1.0 y versiones posteriores:

    • Este de EE. UU. (Norte de Virginia) (us-east-1)

    • Este de EE. UU. (Ohio) (us-east-2)

    • Oeste de EE. UU. (Oregón) (us-west-2)

    • EE. UU. Oeste (Norte de California) (us-west-1)

    • África (Ciudad del Cabo) (af-south-1)

    • Asia-Pacífico (Hong Kong) (ap-east-1)

    • Asia Pacífico (Bombay) (ap-south-1)

    • Asia-Pacífico (Seúl) (ap-northeast-2)

    • Asia-Pacífico (Singapur) (ap-southeast-1)

    • Asia-Pacífico (Sídney) (ap-southeast-2)

    • Asia-Pacífico (Tokio) (ap-northeast-1)

    • Canadá (centro) (ca-central-1)

    • América del Sur (São Paulo) (sa-east-1)

    • Europa (Fráncfort) (eu-central-1)

    • Europa (Irlanda) (eu-west-1)

    • Europa (Londres) (eu-west-2)

    • UE (Milán) (eu-south-1)

    • UE (París) (eu-west-3)

    • Europa (Estocolmo) (eu-north-1)

    • China (Pekín) (cn-north-1)

    • China (Ningxia) (cn-northwest-1)

    • AWS GovCloud (EE. UU. Este) (us-gov-east-1)

    • AWS GovCloud (US-Oeste) (us-gov-west-1)

  • Escalado administrado de Amazon EMR solo funciona con aplicaciones YARN, como Spark, Hadoop, Hive y Flink. No es compatible con aplicaciones que se basen en YARN, como Presto y HBase.

Parámetros de escalado administrado

Debe configurar los siguientes parámetros para el escalado administrado. El límite solo se aplica a los nodos principales y de tareas. No puede escalar el nodo principal después de la configuración inicial.

  • Mínimo (MinimumCapacityUnits): el límite inferior de la capacidad de EC2 permitida en un clúster. Se mide mediante núcleos de unidades de procesamiento central virtual (vCPU) o instancias para grupos de instancias. Se mide mediante unidades para flotas de instancias.

  • Máximo (MaximumCapacityUnits): el límite superior de la capacidad de EC2 permitida en un clúster. Se mide mediante núcleos de unidades de procesamiento central virtual (vCPU) o instancias para grupos de instancias. Se mide mediante unidades para flotas de instancias.

  • Límite bajo demanda (MaximumOnDemandCapacityUnits) (opcional): límite superior de la capacidad de EC2 permitida para el tipo de mercado bajo demanda de un clúster. Si no se especifica este parámetro, se establece en el valor predeterminado de MaximumCapacityUnits.

    • Este parámetro se utiliza para dividir la asignación de capacidad entre instancias bajo demanda e instancias de spot. Por ejemplo, si establece el parámetro mínimo en 2 instancias, el parámetro máximo en 100 instancias y el límite bajo demanda en 10 instancias, Escalado administrado de Amazon EMR escala hasta 10 instancias bajo demanda y asigna la capacidad restante a instancias de spot. Para obtener más información, consulte Escenarios de asignación de nodos.

  • Máximo de nodos principales (MaximumCoreCapacityUnits) (opcional): límite superior de la capacidad de EC2 permitida para el tipo de nodo principal de un clúster. Si no se especifica este parámetro, se establece en el valor predeterminado de MaximumCapacityUnits.

    • Este parámetro se utiliza para dividir la asignación de capacidad entre los nodos principales y de tarea. Por ejemplo, si establece el parámetro mínimo en 2 instancias, el máximo en 100 instancias y el máximo de nodos principales en 17 instancias, Escalado administrado de Amazon EMR escala hasta 17 nodos principales y asigna las 83 instancias restantes a los nodos de tarea. Para obtener más información, consulte Escenarios de asignación de nodos.

Para obtener más información sobre los parámetros de escalado administrado, consulte ComputeLimits.

Consideraciones sobre el Escalado administrado de Amazon EMR

  • El escalado gestionado se admite en las versiones limitadas Regiones de AWS y de Amazon EMR. Para obtener más información, consulte Disponibilidad de Escalado administrado.

  • Debe configurar los parámetros obligatorios para Escalado administrado de Amazon EMR. Para obtener más información, consulte Parámetros de escalado administrado.

  • Para utilizar el escalado administrado, el proceso de recopilación de métricas debe poder conectarse al punto de conexión de la API pública para el escalado administrado en API Gateway. Si utiliza un nombre de DNS privado con Amazon Virtual Private Cloud, el escalado administrado no funcionará correctamente. Para garantizar que el escalado administrado funcione, se recomienda que realice una de las siguientes acciones:

  • Si sus trabajos de YARN se ralentizan de forma intermitente durante la reducción vertical, y los registros de YARN Resource Manager indican que la mayoría de sus nodos estaban en la lista de denegación durante ese tiempo, puede ajustar el límite de tiempo de espera para la retirada.

    Reduzca el valor de spark.blacklist.decommissioning.timeout de una hora a un minuto para que el nodo esté disponible para que otros contenedores pendientes puedan continuar con el procesamiento de las tareas.

    También debe establecer YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs en un valor mayor para garantizar que Amazon EMR no fuerce la terminación del nodo mientras la “Tarea de Spark” más larga siga ejecutándose en el nodo. El valor predeterminado actual son 60 minutos, lo que significa que YARN fuerza la terminación del contenedor transcurridos 60 minutos una vez que el nodo entra en el estado de retirada.

    En el siguiente ejemplo de la línea de registro de YARN Resource Manager, se muestran los nodos agregado al estado de retirada:

    2021-10-20 15:55:26,994 INFO org.apache.hadoop.YARN.server.resourcemanager.DefaultAMSProcessor (IPC Server handler 37 on default port 8030): blacklist are updated in Scheduler.blacklistAdditions: [ip-10-10-27-207.us-west-2.compute.internal, ip-10-10-29-216.us-west-2.compute.internal, ip-10-10-31-13.us-west-2.compute.internal, ... , ip-10-10-30-77.us-west-2.compute.internal], blacklistRemovals: []

    Consulte más información sobre cómo Amazon EMR se integra con la lista de denegación de YARN durante la retirada de nodos, los casos en los que los nodos de Amazon EMR se pueden agregar a la lista de denegación y cómo configurar el comportamiento de retirada de nodos de Spark.

  • La sobreutilización de los volúmenes de EBS puede provocar problemas de Escalado administrado. Le recomendamos que mantenga el volumen de EBS por debajo del 90 % de utilización. Para obtener más información, consulte Almacenamiento de la instancia.

  • CloudWatch Las métricas de Amazon son fundamentales para que funcione el escalado gestionado de Amazon EMR. Te recomendamos que supervises de cerca CloudWatch las estadísticas de Amazon para asegurarte de que no falten datos. Para obtener más información sobre cómo configurar CloudWatch las alarmas para detectar las métricas faltantes, consulta Uso de CloudWatch las alarmas de Amazon.

  • Las operaciones de escalado administrado en los clústeres 5.30.0 y 5.30.1 sin Presto instalado pueden provocar errores en las aplicaciones o provocar que un grupo de instancias o una flota de instancias uniformes permanezcan en estado ARRESTED, especialmente cuando una operación de reducción vertical va seguida inmediatamente de una operación de escalado vertical.

    Como solución alternativa, elija Presto como aplicación para instalar cuando cree un clúster con las versiones 5.30.0 y 5.30.1 de Amazon EMR, incluso si su trabajo no requiere Presto.

  • Al establecer el nodo principal máximo y el límite bajo demanda de Escalado administrado de Amazon EMR, tenga en cuenta las diferencias entre los grupos de instancias y las flotas de instancias. Cada grupo de instancias se compone del mismo tipo de instancia y las mismas opciones de compra para las instancias: bajo demanda o de spot. Para cada flota de instancias, puede especificar hasta cinco tipos de instancia que se pueden aprovisionar como instancias bajo demanda e instancias de spot. Para obtener más información, consulte Crear un clúster con las flotas de instancias o grupos de instancias uniformes, Opciones de las flotas de instancias y Escenarios de asignación de nodos.

  • Con Amazon EMR 5.30.0 y versiones posteriores, si quita la regla de salida predeterminada Permitir todo a 0.0.0.0/ para el grupo de seguridad principal, debe agregar una regla que permita la conectividad TCP de salida a su grupo de seguridad para el acceso al servicio en el puerto 9443. El grupo de seguridad para el acceso al servicio también debe permitir el tráfico TCP entrante en el puerto 9443 desde el grupo de seguridad principal. Para más información sobre la configuración de grupos de seguridad, consulte Grupo de seguridad administrado por Amazon EMR para la instancia principal (subredes privadas).

  • El escalado administrado no admite la característica de etiquetas de nodos de YARN. Evite usar etiquetas de nodos en clústeres con el escalado administrado. Por ejemplo, no permita que los ejecutores se ejecuten solo en los nodos de tarea. Cuando utiliza etiquetas de nodos en sus clústeres de Amazon EMR, es posible que observe que su clúster no se escala verticalmente, lo que puede provocar una ralentización de su aplicación.

  • Se puede utilizar AWS CloudFormation para configurar el escalado gestionado de Amazon EMR. Para obtener más información, consulte AWS::EMR::Clusterla Guía del AWS CloudFormation usuario.

Historial de características

En esta tabla se enumeran las actualizaciones de la capacidad de Escalado administrado de Amazon EMR.

Fecha de publicación Capability Versiones de Amazon EMR
31 de marzo de 2024 El escalado gestionado está disponible en la región de ap-south-2 Asia Pacífico (Hyderabad). 6.14.0 y versiones posteriores
13 de febrero de 2024 El escalado gestionado está disponible en la región de eu-south-2 Europa (España). 6.14.0 y versiones posteriores
10 de octubre de 2023 El Escalado administrado está disponible en la región de Asia-Pacífico (Yakarta) ap-southeast-3. 6.14.0 y versiones posteriores
28 de julio de 2023 Mejora del escalado administrado para cambiar a un grupo de instancias de tareas diferente al escalar verticalmente cuando Amazon EMR experimenta un retraso en el escalado vertical con el grupo de instancias actual. 5.34.0 y versiones posteriores, 6.4.0 y versiones posteriores
16 de junio de 2023 Mejora del escalado administrado para detectar los nodos que ejecutan la aplicación maestra, de modo que esos nodos no se reduzcan verticalmente. Para obtener más información, consulte Comprender la estrategia y los escenarios de asignación de nodos. 5.34.0 y versiones posteriores, 6.4.0 y versiones posteriores
21 de marzo de 2022 Se agregó el reconocimiento de datos de mezclas aleatorias de Spark que se usa al reducir verticalmente los clústeres. En el caso de los clústeres de Amazon EMR con Apache Spark y la característica de escalado administrado habilitada, Amazon EMR supervisa de forma continua los ejecutores de Spark y las ubicaciones de datos de mezclas aleatorias intermedias. Con esta información, Amazon EMR solo reduce verticalmente las instancias infrautilizadas que no contienen datos de mezclas aleatorias utilizados activamente. Esto evita el recálculo de los datos de mezclas aleatorias perdidos, lo que ayuda a reducir los costos y a mejorar el rendimiento laboral. Para más información, consulte Spark Programming Guide. 5.34.0 y versiones posteriores, 6.4.0 y versiones posteriores