Cálculo de la capacidad de un clúster de Amazon EMR - AWS Guía prescriptiva

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.

Cálculo de la capacidad de un clúster de Amazon EMR

Si bien Amazon EMR es una plataforma de tamaño variable, es importante ajustar el tamaño de los clústeres. El dimensionamiento correcto evita que un clúster se vuelva lento si el tamaño es insuficiente o que los costos sean más altos si el clúster está sobredimensionado. Para anticipar estos problemas, puede calcular la cantidad y el tipo de nodos que se necesitarán para las cargas de trabajo.

Nodos principales

Este tipo de nodo es el responsable de coordinar la distribución de los datos y los procesos. Como se mencionó anteriormente, los requisitos computacionales para los nodos principales son bajos. Puede utilizar un único nodo principal para administrar su clúster de Amazon EMR. Sin embargo, puede utilizar hasta tres nodos principales para no tener un único punto de falla. Si un nodo principal falla, Amazon EMR conmuta por error a uno de los otros dos nodos principales.

Nodos básicos y de tareas

La diferencia entre los nodos básicos y los nodos de tareas es que los nodos de tareas no almacenan datos; solo proporcionan energía para realizar tareas computacionales paralelas.

Para calcular el número de nodos básicos y de tareas, debe conocer el tamaño de los datos y el uso aproximado de la memoria.

Nodos básicos

Los nodos básicos son responsables de ejecutar las tareas para procesar los datos y también de almacenar datos en el Sistema de archivos distribuido de Hadoop (HDFS). Para calcular la capacidad de los nodos básicos, defina el número de nodos básicos y, a continuación, multiplique el número de nodos por el almacenamiento de Amazon Elastic Block Store (Amazon EBS) de cada nodo.

Por ejemplo, si define 10 nodos básicos para procesar 1 TiB de datos y tiene un tipo de instancia m5.xlarge con 64 GiB de almacenamiento en Amazon EBS, tiene una capacidad de 10 nodes × 64 GiB o 640 GiB. En función del factor de replicación HDFS de tres, el tamaño de los datos se replica tres veces en los nodos, por lo que 1 TiB de datos requiere una capacidad de 3 TiB. Como este ejemplo tiene solo 640 GiB, debe aumentar la cantidad de nodos o cambiar el tipo de instancia hasta que tenga una capacidad de 3 TiB.

El tipo de instancia m5.4xlarge tiene 256 GiB de almacenamiento. Si se cambia a un tipo de instancia m5.4xlarge y se seleccionan 12 instancias, se obtiene suficiente capacidad.

12 instances × 256 GiB of storage = 3072 GiB = 3 TiB available

Nodos de tarea

Los nodos de tareas solo ejecutan tareas. No almacenan datos. Para calcular el número de nodos de tareas, necesita un cálculo del uso de la memoria. Esta capacidad se puede dividir entre los nodos básicos y de tareas. Para calcular el número de nodos de tareas necesarios, puede restar del uso de la memoria aquella memoria proporcionada por los nodos básicos que calculó en el paso anterior.

Para tener un rango de memoria ampliado, se recomienda multiplicar la memoria necesaria por tres.

Suponga que tiene 28 procesos de 20 GiB cada uno.

3 × 28 processes × 20 GiB of memory = 1680 GiB of memory

Para este ejemplo, los nodos básicos tienen 64 GiB de memoria (instancias m5.4xlarge). Sus nodos básicos proporcionan 64 GiB × 12 nodes = 768 GiB of memory, lo que no es suficiente en este ejemplo.

Para determinar lo que falta, reste la memoria del nodo básico de la memoria total requerida.

1680 GiB – 768 GiB core node memory = 912 GiB memory shortage.

Los nodos de tareas pueden proporcionar los 912 GiB de memoria restantes. Para este ejemplo, los nodos de tareas tienen 32 GiB de memoria (instancias m5.2xlarge). Para obtener el número de nodos de tareas necesarios, divida lo que falta de memoria entre la memoria del tipo de instancia.

912 GiB/32 GiB = 28.5 task nodes

No puede tener una fracción de un nodo de tarea, por lo que debe redondear hasta 29 nodos de tarea.