Monitorización de métricas de Amazon EMR con CloudWatch - Amazon EMR

Monitorización de métricas de Amazon EMR con CloudWatch

Las métricas se actualizan cada cinco minutos y se recogen automáticamente y se envían a CloudWatch por cada clúster de Amazon EMR. Este intervalo no se puede configurar. No se aplica ningún cargo por las métricas de Amazon EMR que se comunican en CloudWatch. Estas métricas de puntos de datos de cinco minutos se archivan durante 63 días, tras lo cual se descartan los datos.

¿Cómo utilizo las métricas de Amazon EMR?

En la siguiente tabla, se muestran los usos más comunes de las métricas notificadas por Amazon EMR. Se trata de sugerencias que puede usar como punto de partida y no de una lista completa. Para ver una lista completa de las métricas notificadas por Amazon EMR, consulte Métricas notificadas por Amazon EMR en CloudWatch.

¿Cómo? Métricas relevantes
Realizar un seguimiento del progreso de mi clúster Consulte las métricas RunningMapTasks, RemainingMapTasks, RunningReduceTasks y RemainingReduceTasks.
Detectar clústeres que están inactivos La métrica IsIdle realiza un seguimiento de si el clúster está disponible, pero actualmente no está ejecutando ninguna tarea. Puede configurar una alarma para que se active cuando el clúster haya estado inactivo durante un periodo de tiempo determinado, como, por ejemplo, treinta minutos.
Detectar si un nodo se queda sin espacio de almacenamiento La métrica MRUnhealthyNodes registra cuándo uno o más nodos principales o de tarea se quedan sin almacenamiento en disco local y pasan a un estado UNHEALTHY de YARN. Por ejemplo, los nodos principales o de tarea se están quedando sin espacio en disco y no podrán ejecutar tareas.
Detectar si un clúster se queda sin espacio de almacenamiento La métrica HDFSUtilization monitorea la capacidad de HDFS combinada del clúster y puede requerir el redimensionamiento del clúster para agregar más nodos principales. Por ejemplo, el uso de HDFS es elevado, lo que podría afectar a los trabajos y al estado del clúster.
Detectar cuándo un clúster se está ejecutando a una capacidad reducida La métrica MRLostNodes registra cuándo uno o más nodos principales o de tarea no pueden comunicarse con el nodo maestro. Por ejemplo, el nodo maestro no puede acceder al nodo principal o de tarea.

Para obtener más información, consulte El clúster termina con NO_SLAVE_LEFT y los nodos principales con FAILED_BY_MASTER y AWSSupport-AnalyzeEMRLogs.

Acceder a las métricas de CloudWatch para Amazon EMR

Puede ver las métricas que Amazon EMR notifica a CloudWatch mediante la consola de Amazon EMR o la consola de CloudWatch. También puede recuperar métricas mediante el comando mon-get-stats de la CLI de CloudWatch o la API GetMetricStatistics de CloudWatch. Para obtener más información sobre cómo visualizar y obtener las métricas de Amazon EMR con CloudWatch, consulte la Guía del usuario de Amazon CloudWatch.

nota

Hemos rediseñado la consola de Amazon EMR para que sea más fácil de utilizar. Consulte Novedades de la consola para obtener información sobre las diferencias entre la consola antigua y la nueva.

New console
Para ver métricas con la nueva consola
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon EMR en https://console.aws.amazon.com/emr.

  2. En EMR en EC2, en el panel de navegación izquierdo, seleccione Clústeres y, a continuación, seleccione el clúster del que desee ver las métricas. Se abrirá la página de detalles del clúster.

  3. Seleccione la pestaña Monitorización en la página de detalles del clúster. Seleccione cualquiera de las opciones denominadas Estado del clúster, Estado del nodo o Entradas y salidas para cargar los informes acerca del progreso y el estado del clúster.

  4. Después de seleccionar una métrica para verla, puede modificar el tamaño de cada gráfico. Para filtrar el periodo de tiempo del gráfico, seleccione una opción preconfigurada o seleccione Personalizado.

Old console
Para ver métricas con la consola antigua
  1. Abra la consola de Amazon EMR enhttps://console.aws.amazon.com/elasticmapreduce/.

  2. Para ver las métricas de un clúster, seleccione un clúster para mostrar el panel Summary (Resumen).

  3. Elija Monitoring (Monitorización) para ver información sobre dicho clúster. Seleccione cualquiera de las pestañas denominadas Estado del clúster, Asignar/Reducir, Estado del nodo o E/S para cargar los informes acerca del progreso y el estado del clúster.

  4. Después de elegir una métrica que ver, puede seleccionar un tamaño de gráfico. Edite los campos Start (Inicio) y End (Finalización) para filtrar las métricas según un marco temporal específico.

Métricas notificadas por Amazon EMR en CloudWatch

En la siguiente tabla se muestran todas las métricas que Amazon EMR notifica en la consola y envía a CloudWatch.

Métricas de Amazon EMR

Amazon EMR envía los datos de varias métricas a CloudWatch. Todos los clústeres de Amazon EMR envían automáticamente métricas en intervalos de cinco minutos. Las métricas se archivan durante dos semanas; después de ese periodo, los datos se descartan.

El espacio de nombres de AWS/ElasticMapReduce incluye las siguientes métricas.

nota

Amazon EMR extrae métricas de un clúster. Si un clúster deja de estar disponible, no se registra ninguna métrica hasta que el clúster vuelve a estar disponible.

Están disponibles las siguientes métricas para los clústeres que ejecutan las versiones 2.x de Hadoop.

Métrica Descripción
Estado del clúster

IsIdle

Indica que un clúster ya no está funcionando, pero sigue activo y acumulando cargos. Se establece en 1 si no se ejecuta ninguna tarea ni ningún trabajo; en caso contrario, se establece en 0. Este valor se comprueba a intervalos de cinco minutos, y un valor de 1 indica que el clúster estaba inactivo cuando se comprobó, no que estuvo inactivo durante los cinco minutos. Para evitar falsos positivos, debe activar una alarma cuando este valor sea 1 durante más de una comprobación consecutiva de cinco minutos. Por ejemplo, puede activar una alarma cuando este valor sea 1 durante treinta minutos o más.

Caso de uso: monitorizar el rendimiento del clúster

Unidades: booleano

ContainerAllocated

El número de contenedores de recursos asignados por ResourceManager.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

ContainerReserved

El número de contenedores reservados.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

ContainerPending

El número de contenedores en la cola que aún no se han asignado.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

ContainerPendingRatio

La proporción entre contenedores pendientes y contenedores asignados (ContainerPendingRatio = ContainerPending / ContainerAllocated). Si ContainerAllocated = 0, entonces ContainerPendingRatio = ContainerPending. El valor de ContainerPendingRatio representa un número, no un porcentaje. Este valor es útil para escalar recursos del clúster en función del comportamiento de asignación de contenedores.

Unidades: recuento

AppsCompleted

El número de aplicaciones enviadas a YARN que se han completado.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

AppsFailed

El número de aplicaciones enviadas a YARN que no se han podido completar.

Caso de uso: monitorizar el progreso del clúster, monitorizar el estado del clúster

Unidades: recuento

AppsKilled

El número de aplicaciones enviadas a YARN que se han cancelado.

Caso de uso: monitorizar el progreso del clúster, monitorizar el estado del clúster

Unidades: recuento

AppsPending

El número de aplicaciones enviadas a YARN que están en estado pendiente.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

AppsRunning

El número de aplicaciones enviadas a YARN que se están ejecutando.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

AppsSubmitted

El número de aplicaciones enviadas a YARN.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

Estado del nodo

CoreNodesRunning

El número de nodos secundarios en funcionamiento. Los puntos de datos de esta métrica solo se registran cuando existe un grupo de instancias correspondiente.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

CoreNodesPending

El número de nodos secundarios en espera de ser asignados. Puede que no todos los nodos secundarios solicitados estén disponibles inmediatamente; esta métrica registra las solicitudes pendientes. Los puntos de datos de esta métrica solo se registran cuando existe un grupo de instancias correspondiente.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

LiveDataNodes

El porcentaje de nodos de datos que reciben trabajo de Hadoop.

Caso de uso: monitorizar el estado del clúster

Unidades: porcentaje

MRTotalNodes

El número de nodos actualmente disponibles para trabajos de MapReduce. Equivalente a la métrica YARN mapred.resourcemanager.TotalNodes.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MRActiveNodes

El número de nodos que se están ejecutando actualmente en tareas o trabajos de MapReduce. Equivalente a la métrica YARN mapred.resourcemanager.NoOfActiveNodes.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MRLostNodes

El número de nodos asignados a MapReduce que se han marcado con el estado LOST. Equivalente a la métrica YARN mapred.resourcemanager.NoOfLostNodes.

Caso de uso: monitorizar el estado del clúster, monitorizar el progreso del clúster

Unidades: recuento

MRUnhealthyNodes

El número de nodos disponibles para trabajos de MapReduce marcados con el estado UNHEALTHY. Equivalente a la métrica YARN mapred.resourcemanager.NoOfUnhealthyNodes.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MRDecommissionedNodes

El número de nodos asignados a aplicaciones de MapReduce que se han marcado con el estado DECOMMISSIONED. Equivalente a la métrica YARN mapred.resourcemanager.NoOfDecommissionedNodes.

Caso de uso: monitorizar el estado del clúster, monitorizar el progreso del clúster

Unidades: recuento

MRRebootedNodes

El número de nodos disponibles parea MapReduce que se han reiniciado y marcado con el estado REBOOTED. Equivalente a la métrica YARN mapred.resourcemanager.NoOfRebootedNodes.

Caso de uso: monitorizar el estado del clúster, monitorizar el progreso del clúster

Unidades: recuento

MultiMasterInstanceGroupNodesRunning

El número de nodos principales en ejecución.

Caso de uso: monitorizar errores y sustituciones del nodo principal

Unidades: recuento

MultiMasterInstanceGroupNodesRunningPercentage

El porcentaje de nodos principales que se están ejecutando por encima del recuento de instancias del nodo principal solicitadas.

Caso de uso: monitorizar errores y sustituciones del nodo principal

Unidades: porcentaje

MultiMasterInstanceGroupNodesRequested

El número de nodos principales solicitados.

Caso de uso: monitorizar errores y sustituciones del nodo principal

Unidades: recuento

E/S

S3BytesWritten

Número de bytes escritos en Amazon S3. Esta métrica solo agrega trabajos de MapReduce y no se aplica a otras cargas de trabajo de Amazon EMR.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

S3BytesRead

Número de bytes leídos desde Amazon S3. Esta métrica solo agrega trabajos de MapReduce y no se aplica a otras cargas de trabajo de Amazon EMR.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

HDFSUtilization

El porcentaje de almacenamiento HDFS usado actualmente.

Caso de uso: analizar el rendimiento del clúster

Unidades: porcentaje

HDFSBytesRead

El número de bytes leídos de HDFS. Esta métrica solo agrega trabajos de MapReduce y no se aplica a otras cargas de trabajo de Amazon EMR.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

HDFSBytesWritten

El número de bytes escritos en HDFS. Esta métrica solo agrega trabajos de MapReduce y no se aplica a otras cargas de trabajo de Amazon EMR.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

MissingBlocks

El número de bloques en los que HDFS no tiene réplicas. Pueden tratarse de bloques dañados.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

CorruptBlocks

El número de bloques que HDFS registra como dañados.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

TotalLoad

El número total de transferencias de datos simultáneas,

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

MemoryTotalMB

La cantidad de memoria total del clúster.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MemoryReservedMB

La cantidad de memoria reservada.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MemoryAvailableMB

La cantidad de memoria disponible para asignar.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

YARNMemoryAvailablePercentage

El porcentaje de memoria restante disponible para YARN (YARNMemoryAvailablePercentage = MemoryAvailableMB / MemoryTotalMB). Este valor es útil para escalar recursos del clúster en función del uso de memoria de YARN.

Unidades: porcentaje

MemoryAllocatedMB

La cantidad de memoria asignada al clúster.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

PendingDeletionBlocks

El número de bloques marcados para eliminación.

Caso de uso: monitorizar el progreso del clúster, monitorizar el estado del clúster

Unidades: recuento

UnderReplicatedBlocks

El número de bloques que necesitan replicarse una o varias veces.

Caso de uso: monitorizar el progreso del clúster, monitorizar el estado del clúster

Unidades: recuento

DfsPendingReplicationBlocks

El estado de replicación del bloque: bloques que se están replicando, antigüedad de las solicitudes de replicación y solicitudes replicadas correctamente.

Caso de uso: monitorizar el progreso del clúster, monitorizar el estado del clúster

Unidades: recuento

CapacityRemainingGB

La cantidad de capacidad de disco HDFS restante.

Caso de uso: monitorizar el progreso del clúster, monitorizar el estado del clúster

Unidades: recuento

A continuación se indican las métricas de Hadoop 1:

Métrica Descripción
Estado del clúster

IsIdle

Indica que un clúster ya no está funcionando, pero sigue activo y acumulando cargos. Se establece en 1 si no se ejecuta ninguna tarea ni ningún trabajo; en caso contrario, se establece en 0. Este valor se comprueba a intervalos de cinco minutos, y un valor de 1 indica que el clúster estaba inactivo cuando se comprobó, no que estuvo inactivo durante los cinco minutos. Para evitar falsos positivos, debe activar una alarma cuando este valor sea 1 durante más de una comprobación consecutiva de cinco minutos. Por ejemplo, puede activar una alarma cuando este valor sea 1 durante treinta minutos o más.

Caso de uso: monitorizar el rendimiento del clúster

Unidades: booleano

JobsRunning

El número de trabajos del clúster que se encuentran actualmente en ejecución.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

JobsFailed

El número de trabajos del clúster que han producido un error.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

Map/Reduce

MapTasksRunning

Número de tareas de asignación en ejecución de cada trabajo. Si tiene un programador instalado y varios trabajos en ejecución, se generan varios gráficos.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MapTasksRemaining

Número de tareas de asignación pendientes de cada trabajo. Si tiene un programador instalado y varios trabajos en ejecución, se generan varios gráficos. Una tarea de asignación pendiente es aquella que no tiene ninguno de los siguientes estados: Running, Killed o Completed.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

MapSlotsOpen

La capacidad de la tarea de asignación no utilizada. Se calcula como el número máximo de tareas de asignación de un clúster determinado menos el número total de tareas de asignación que se están ejecutando actualmente en el clúster.

Caso de uso: analizar el rendimiento del clúster

Unidades: recuento

RemainingMapTasksPerSlot

La proporción entre el total de tareas de asignación pendientes y el total de slots de asignación disponibles en el clúster.

Caso de uso: analizar el rendimiento del clúster

Unidades: proporción

ReduceTasksRunning

Número de tareas de reducción en ejecución de cada trabajo. Si tiene un programador instalado y varios trabajos en ejecución, se generan varios gráficos.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

ReduceTasksRemaining

Número de tareas de reducción pendientes de cada trabajo. Si tiene un programador instalado y varios trabajos en ejecución, se generan varios gráficos.

Caso de uso: monitorizar el progreso del clúster

Unidades: recuento

ReduceSlotsOpen

La capacidad de la tarea de reducción no utilizada. Se calcula como la capacidad máxima de la tarea de reducción de un clúster determinado menos el número de tareas de reducción que se están ejecutando actualmente en el clúster.

Caso de uso: analizar el rendimiento del clúster

Unidades: recuento

Estado del nodo

CoreNodesRunning

El número de nodos secundarios en funcionamiento. Los puntos de datos de esta métrica solo se registran cuando existe un grupo de instancias correspondiente.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

CoreNodesPending

El número de nodos secundarios en espera de ser asignados. Puede que no todos los nodos secundarios solicitados estén disponibles inmediatamente; esta métrica registra las solicitudes pendientes. Los puntos de datos de esta métrica solo se registran cuando existe un grupo de instancias correspondiente.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

LiveDataNodes

El porcentaje de nodos de datos que reciben trabajo de Hadoop.

Caso de uso: monitorizar el estado del clúster

Unidades: porcentaje

TaskNodesRunning

El número de nodos de tareas en funcionamiento. Los puntos de datos de esta métrica solo se registran cuando existe un grupo de instancias correspondiente.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

TaskNodesPending

El número de nodos de tareas en espera de ser asignados. Puede que no todos los nodos de tareas solicitados estén disponibles inmediatamente; esta métrica registra las solicitudes pendientes. Los puntos de datos de esta métrica solo se registran cuando existe un grupo de instancias correspondiente.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

LiveTaskTrackers

El porcentaje de rastreadores de tareas que están operativos.

Caso de uso: monitorizar el estado del clúster

Unidades: porcentaje

E/S

S3BytesWritten

Número de bytes escritos en Amazon S3. Esta métrica solo agrega trabajos de MapReduce y no se aplica a otras cargas de trabajo de Amazon EMR.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

S3BytesRead

Número de bytes leídos desde Amazon S3. Esta métrica solo agrega trabajos de MapReduce y no se aplica a otras cargas de trabajo de Amazon EMR.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

HDFSUtilization

El porcentaje de almacenamiento HDFS usado actualmente.

Caso de uso: analizar el rendimiento del clúster

Unidades: porcentaje

HDFSBytesRead

El número de bytes leídos de HDFS.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

HDFSBytesWritten

El número de bytes escritos en HDFS.

Caso de uso: analizar el rendimiento del clúster, monitorizar el progreso del clúster

Unidades: recuento

MissingBlocks

El número de bloques en los que HDFS no tiene réplicas. Pueden tratarse de bloques dañados.

Caso de uso: monitorizar el estado del clúster

Unidades: recuento

TotalLoad

Número total actual de lectores y escritores registrados por todos los DataNodes de un clúster.

Caso de uso: Diagnosticar en qué medida un nivel elevado de E/S podría estar contribuyendo a reducir el rendimiento en la ejecución de trabajos. Los nodos de procesos de trabajo que ejecutan el daemon DataNode también deben llevar a cabo tareas de mapeo y reducción. Valores sistemáticamente altos de TotalLoad durante un tiempo prolongado pueden indicar que un nivel elevado de E/S podría ser uno de los factores que está empeorando el rendimiento. Los picos ocasionales en este valor son normales y no necesariamente son indicativos de un problema.

Unidades: recuento

Métricas de capacidad del clúster

Las siguientes métricas indican la capacidad actual o prevista de un clúster. Estas métricas solo están disponibles cuando el escalado administrado o la terminación automática están habilitados.

Para los clústeres compuestos por flotas de instancias, las métricas de capacidad del clúster se miden en Units. Para los clústeres compuestos por grupos de instancias, las métricas de capacidad del clúster se miden en Nodes o en VCPU en función del tipo de unidad utilizado en la política de escalado administrado. Para obtener más información, consulte Uso del escalado administrado de EMR en la Guía de administración de Amazon EMR.

Métrica Descripción
  • TotalUnitsRequested

  • TotalNodesRequested

  • TotalVCPURequested

El número total previsto de unidades, nodos o vCPU en un clúster según lo determine el escalado administrado.

Unidades: recuento

  • TotalUnitsRunning

  • TotalNodesRunning

  • TotalVCPURunning

El número total actual de unidades, nodos o vCPU disponibles en un clúster en ejecución. Cuando se solicita un cambio de tamaño del clúster, esta métrica se actualizará después de agregar o quitar las nuevas instancias del clúster.

Unidades: recuento

  • CoreUnitsRequested

  • CoreNodesRequested

  • CoreVCPURequested

El número previsto de unidades, nodos o vCPU CORE en un clúster según lo determine el escalado administrado.

Unidades: recuento

  • CoreUnitsRunning

  • CoreNodesRunning

  • CoreVCPURunning

El número actual de unidades, nodos o vCPU CORE que se ejecutan en un clúster.

Unidades: recuento

  • TaskUnitsRequested

  • TaskNodesRequested

  • TaskVCPURequested

El número previsto de unidades, nodos o vCPU TASK en un clúster según lo determine el escalado administrado.

Unidades: recuento

  • TaskUnitsRunning

  • TaskNodesRunning

  • TaskVCPURunning

El número actual de unidades, nodos o vCPU TASK que se ejecutan en un clúster.

Unidades: recuento

Amazon EMR emite las siguientes métricas con una granularidad de un minuto cuando se habilita la terminación automática mediante una política de terminación automática. Algunas métricas solo están disponibles para las versiones 6.4.0 y posteriores de Amazon EMR. Para obtener más información acerca de la terminación automática, consulte Uso de una política de terminación automática.

Métrica Descripción
TotalNotebookKernels El número total de kernels de cuadernos en ejecución e inactivos del clúster.

Esta métrica solo está disponible para las versiones 6.4.0 y posteriores de Amazon EMR.

AutoTerminationIsClusterIdle Indica si el clúster está en uso.

Un valor de 0 indica que el clúster está siendo utilizado activamente por uno de los siguientes componentes:

  • Una aplicación YARN

  • HDFS

  • Un cuaderno

  • Una interfaz de usuario integrada en el clúster, como el servidor del historial de Spark

Un valor de 1 indica que el clúster está inactivo. Amazon EMR comprueba la inactividad continua de los clústeres (AutoTerminationIsClusterIdle = 1). Cuando el tiempo de inactividad de un clúster es igual al valor de IdleTimeout de su política de terminación automática, Amazon EMR termina el clúster.

Dimensiones para las métricas de Amazon EMR

Los datos de Amazon EMR se pueden filtrar mediante alguna de las dimensiones de la tabla siguiente.

Dimensión Descripción
JobFlowId El mismo que el ID del clúster, que es un identificador único de un clúster con el formato j-XXXXXXXXXXXXX. Puede encontrar este valor haciendo clic en el clúster en la consola de Amazon EMR.