Saltar al contenido

¿Por qué mi clúster de EMR no se escala aunque he gestionado el escalado activado o si se cumplen las métricas de cambio de tamaño?

4 minutos de lectura
0

He activado el escalamiento administrado o se cumplen las métricas de redimensionamiento, pero mi clúster de EMR no se escala.

Resolución

No se cumplen los umbrales establecidos en las métricas de Amazon CloudWatch para el escalamiento

El escalamiento automático depende de las métricas de Amazon CloudWatch. Si no se alcanzan los umbrales de métricas correspondientes para escalar o desescalar verticalmente, el escalamiento no se produce.

Comprueba las métricas de Amazon EMR en Amazon CloudWatch para comprobar que las métricas definidas en tus reglas de escalamiento, como ContainerPendingRatio y YARNMemoryAvailablePercentage, se rellenan.

Es posible que las métricas de Amazon EMR no se rellenen según lo esperado en CloudWatch por uno de los siguientes motivos:

  • El archivo /etc/hadoop/conf/hadoop-metrics2.properties no existe o está dañado. Por ejemplo, es posible que una acción de arranque personalizada haya sobrescrito el archivo.
  • Es posible que haya problemas con los componentes relacionados con las métricas, como Hadoop o YARN. Revisa los registros de la aplicación correspondientes para comprobar si hay errores.
  • Es posible que el daemon MetricsCollector no esté ejecutándose. Para el escalamiento administrado, ejecuta el siguiente comando en el nodo maestro para comprobar si el daemon MetricsCollector se está ejecutando:
    sudo systemctl status MetricsCollector

Usas aplicaciones que no están basadas en YARN

Las aplicaciones como Presto que no se basan en YARN utilizan métodos de escalamiento basados en las métricas generadas por YARN. Por lo tanto, los clústeres no escalarán aunque la utilización de las consultas de Presto sea alta. Si usas aplicaciones que no están basadas en YARN, utiliza el escalamiento manual. Por ejemplo, puedes configurar la API de cambio de tamaño de Amazon EMR para que utilice métricas de Presto personalizadas.

Los grupos de instancias principales o de tareas se encuentran suspendidos o detenidos

Los grupos de instancias principales o de tareas que están suspendidos o detenidos quedan bloqueados cuando cambian de tamaño o escalan. Para obtener más información, consulta Estado suspendido.

Las reconfiguraciones pueden provocar que los grupos de instancias pasen a un estado de detención. Para obtener más información, consulta Solución de problemas de reconfiguración de grupos de instancias.

Hay problemas con las aplicaciones de HDFS en Amazon EMR que causan problemas al escalar los nodos centrales

Si se cumplen las dos condiciones siguientes, se recomienda mantener fijos los nodos centrales:

  • Almacenas datos en buckets de Amazon Simple Storage Service (Amazon S3).
  • La utilización del sistema de archivos distribuido de Hadoop (HDFS) es mínima.

Nota: Se recomienda escalar los nodos de tarea únicamente para evitar problemas con HDFS.

Se tarda más en escalar los nodos centrales que en escalar los nodos de tarea. Esto se debe a que los nodos centrales tienen un servicio adicional (Datanode) que se usa para almacenar los datos de HDFS. El desmantelamiento de los datos de HDFS lleva tiempo. Si tu caso de uso requiere el escalamiento del nodo central y el escalamiento está bloqueado, es posible que haya un problema con el desmantelamiento de HDFS.

Para solucionar los problemas de escalamiento que se ha quedado bloqueado debido al desmantelamiento de HDFS, lleva a cabo las siguientes acciones:

  • Comprueba el estado de los servicios de HDFS (Namenode y Datanode).
  • Ejecuta el comando hdfs dfsadmin -report para comprobar si falta algún bloque, está dañado o no está replicado.
  • Comprueba si hay algún nodo central que no esté en buen estado debido a problemas con el disco, la memoria o la CPU.
  • Comprueba si has establecido el factor de replicación de HDFS en un número alto, como 3 o 2. Si intentas reducir el nodo central a 1 cuando el factor de replicación está establecido en 3 o 2, la operación de escalamiento se bloquea. Esto se debe a que Amazon EMR debe mantener el número mínimo de réplicas.

La capacidad solicitada no está disponible en Amazon EMR

Si la capacidad solicitada de Amazon Elastic Compute Cloud (Amazon EC2) no está disponible en Amazon EMR, el escalamiento fallará una vez transcurrido el periodo de espera. Si el escalamiento permanece bloqueado durante más de 2 o 3 horas y recibes errores de capacidad insuficiente en los eventos de AWS CloudTrail, realiza un cambio de tamaño manual.

Información relacionada

Uso del escalamiento automático con una política personalizada para grupos de instancias en Amazon EMR

Cambio manual del tamaño de un clúster de Amazon EMR en ejecución

Uso del escalamiento administrado en Amazon EMR

Top 9 performance tuning tips for PrestoDB on Amazon EMR (Los 9 mejores consejos para ajustar el rendimiento de PrestoDB en Amazon EMR)

OFICIAL DE AWSActualizada hace 9 meses