Flexibilidad de zona de disponibilidad - 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.

Flexibilidad de zona de disponibilidad

Cada Región de AWS tiene varias ubicaciones aisladas conocidas como zonas de disponibilidad. Al lanzar una instancia, si lo desea, puede especificar una zona de disponibilidad (AZ) en Región de AWS que utilices. La flexibilidad de la zona de disponibilidad consiste en la distribución de las instancias en variasAZs. Si una instancia produce un error, puede diseñar la aplicación para que una instancia en otra zona de disponibilidad pueda manejar las solicitudes. Para obtener más información sobre las zonas de disponibilidad, consulta la documentación de regiones y zonas en la Guía del EC2 usuario de Amazon.

La flexibilidad de las instancias consiste en el uso de varios tipos de instancias para satisfacer los requisitos de capacidad. Al expresar la flexibilidad con las instancias, puede utilizar la capacidad agregada en todos los tamaños, familias y generaciones de instancias. Una mayor flexibilidad mejora las posibilidades de encontrar y asignar la cantidad necesaria de capacidad de computación en comparación con un clúster que utiliza un solo tipo de instancia.

La flexibilidad de las instancias y las zonas de disponibilidad reduce los errores de capacidad insuficiente (ICE) y las interrupciones puntuales en comparación con un clúster con un único tipo de instancia o AZ. Utilice las prácticas recomendadas que se describen aquí para determinar qué instancias debe diversificar una vez que conozca la familia y el tamaño iniciales de las instancias. Este enfoque maximiza la disponibilidad de los grupos de EC2 capacidad de Amazon con una variación mínima de rendimiento y costo.

Ser flexible en cuanto a las zonas de disponibilidad

Le recomendamos que configure todas las zonas de disponibilidad para usarlas en su nube privada virtual (VPC) y que las seleccione para su EMR clúster. Los clústeres solo deben existir en una zona de disponibilidad, pero con las flotas de EMR instancias de Amazon, puede seleccionar varias subredes para distintas zonas de disponibilidad. Cuando Amazon EMR lanza el clúster, busca en esas subredes las instancias y las opciones de compra que especifiques. Al aprovisionar un EMR clúster para varias subredes, este puede acceder a un grupo de EC2 capacidad de Amazon más amplio en comparación con los clústeres de una sola subred.

Si debe priorizar un número determinado de zonas de disponibilidad para usarlas en su nube privada virtual (VPC) para su EMR clúster, puede aprovechar la capacidad de puntuación de ubicación puntual con AmazonEC2. Con la puntuación de ubicación puntual, usted especifica los requisitos de cómputo de sus instancias puntuales y, a continuación, EC2 devuelve las diez primeras Regiones de AWS o zonas de disponibilidad puntuadas en una escala del 1 al 10. Una puntuación de 10 indica que es muy probable que su solicitud de spot se complete correctamente y una puntuación de 1 indica que es poco probable que esto suceda. Para obtener más información sobre cómo utilizar la puntuación de posicionamiento de Spot, consulta la puntuación de posicionamiento de Spot en la Guía del EC2 usuario de Amazon.

Ser flexible en cuanto a los tipos de instancias

La flexibilidad de las instancias consiste en el uso de varios tipos de instancias para satisfacer los requisitos de capacidad. La flexibilidad de las instancias beneficia al uso de Amazon EC2 Spot y On-Demand Instance. Con las instancias puntuales, la flexibilidad de las instancias permite a Amazon EC2 lanzar instancias desde grupos de capacidad más profundos utilizando datos de capacidad en tiempo real. También predice qué instancias están más disponibles. Esto ofrece menos interrupciones y puede reducir el costo total de una carga de trabajo. Con las instancias bajo demanda, la flexibilidad de las instancias reduce los errores de capacidad insuficiente (ICE) cuando la capacidad total se aprovisiona en un mayor número de grupos de instancias.

Para los clústeres de grupos de instancias, puedes especificar hasta 50 tipos de EC2 instancias. En el caso de las flotas de instancias con estrategia de asignación, puedes especificar hasta 30 tipos de EC2 instancias para cada grupo de nodos principal, principal y de tareas. Una gama más amplia de instancias mejora las ventajas de la flexibilidad de las instancias.

Expresar la flexibilidad de las instancias

Tenga en cuenta las siguientes prácticas recomendadas para expresar la flexibilidad de las instancias de su aplicación.

Determinar la familia y el tamaño de las instancias

Amazon EMR admite varios tipos de instancias para distintos casos de uso. Estos tipos de instancias se enumeran en la documentación Tipos de instancias compatibles con Amazon EMR. Cada tipo de instancia pertenece a una familia de instancias que describe para qué aplicación se ha optimizado el tipo.

Para las cargas de trabajo nuevas, debe compararlas con los tipos de instancias de la familia de uso general, como m5 o c5. Luego, monitorea el sistema operativo y YARN las métricas de Ganglia y Amazon CloudWatch para determinar los cuellos de botella del sistema en momentos de máxima carga. Los cuellos de botella incluyen la memoriaCPU, el almacenamiento y las operaciones de E/S. Después de identificar los cuellos de botella, elija la familia de instancias optimizadas para la computación, optimizadas para memoria, optimizadas para el almacenamiento u otra familia de instancias adecuada para sus tipos de instancias. Para obtener más información, consulte la página Determine la infraestructura adecuada para sus cargas de trabajo de Spark en la guía de EMR mejores prácticas de Amazon en GitHub.

A continuación, identifica el YARN contenedor o el ejecutor de Spark más pequeño que requiere tu aplicación. Es el tamaño de instancia más pequeño que cabe en el contenedor y el tamaño mínimo de instancia para el clúster. Utilice esta métrica para determinar las instancias con las que puede diversificar aún más. Una instancia más pequeña permitirá una mayor flexibilidad de instancias.

Para obtener la máxima flexibilidad de instancias, debe utilizar tantas instancias como sea posible. Se recomienda que diversifique con instancias que tengan especificaciones de hardware similares. Esto maximiza el acceso a los grupos EC2 de capacidad con una variación mínima de costo y rendimiento. Diversifique en todos los tamaños. Para ello, priorice AWS Graviton y las generaciones anteriores primero. Como regla general, intente ser flexible con al menos 15 tipos de instancias para cada carga de trabajo. Se recomienda que comience con instancias de uso general, optimizadas para la computación u optimizadas para memoria. Estos tipos de instancias ofrecerán la mayor flexibilidad.

Incluir instancias adicionales

Para obtener la máxima diversidad, incluya tipos de instancias adicionales. Priorice primero la flexibilidad de tamaño de la instancia, Graviton y generación. Esto permite el acceso a grupos EC2 de capacidad adicionales con perfiles de coste y rendimiento similares. Si necesita más flexibilidad debido a interrupciones puntuales ICE o puntuales, considere la flexibilidad de variantes y familias. Cada enfoque tiene sus ventajas y desventajas que dependen de su caso de uso y sus requisitos.

  • Flexibilidad de tamaño: en primer lugar, diversifique con instancias de diferentes tamaños dentro de la misma familia. Las instancias de la misma familia ofrecen el mismo costo y rendimiento, pero pueden lanzar una cantidad diferente de contenedores en cada host. Por ejemplo, si el tamaño mínimo del ejecutor que necesita es de 2 V CPU y 8 Gb de memoria, el tamaño mínimo de la instancia es. m5.xlarge Para mayor flexibilidad de tamaño, incluya m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge y m5.24xlarge.

  • Flexibilidad de Graviton: además del tamaño, puede diversificar con las instancias de Graviton. Las instancias de Graviton funcionan con AWS Procesadores Graviton2 que ofrecen la mejor relación precio-rendimiento para cargas de trabajo en la nube en Amazon. EC2 Por ejemplo, con un tamaño de instancia mínimo de m5.xlarge, puede incluir m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge y m6g.16xlarge para obtener flexibilidad de Graviton.

  • Flexibilidad de generación: al igual que la flexibilidad de Graviton y de tamaño, las instancias de las familias de generaciones anteriores comparten las mismas especificaciones de hardware. Esto se traduce en un perfil de costes y rendimiento similar, con un aumento en el total del EC2 pool de Amazon accesible. Para mayor flexibilidad de generación, incluya m4.xlarge, m4.2xlarge, m4.10xlarge y m4.16xlarge.

  • Flexibilidad de familias y variantes

    • Capacidad: para optimizar la capacidad, se recomienda la flexibilidad de las instancias en todas las familias de instancias. Las instancias comunes de diferentes familias de instancias tienen grupos de instancias más amplios que pueden ayudar a cumplir los requisitos de capacidad. Sin embargo, las instancias de distintas familias tendrán relaciones entre v CPU y memoria diferentes. Esto se traduce en una infrautilización si el tamaño del contenedor de aplicaciones esperado es adecuado para una instancia diferente. Por ejemplo, con m5.xlarge, incluya instancias optimizadas para la computación, como c5, o instancias optimizadas para memoria, como r5, para obtener flexibilidad de familias de instancias.

    • Costo: para optimizar el costo, se recomienda la flexibilidad de las instancias en todas las variantes. Estas instancias tienen la misma CPU relación de memoria y v que la instancia inicial. La diferencia con la flexibilidad de variantes es que estas instancias tienen grupos de capacidad más pequeños, lo que puede dar como resultado una capacidad adicional limitada o un mayor número de interrupciones de spot. Incluya, m5.xlarge por ejemplo, instancias AMD basadas (m5a), instancias SSD basadas (m5d) o instancias optimizadas para la red (m5n) para obtener flexibilidad variable.