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.
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 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 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 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 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 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 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 |
---|---|
|
El número total previsto de unidades, nodos o vCPU en un clúster según lo determine el escalado administrado. Unidades: recuento |
|
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 |
|
El número previsto de unidades, nodos o vCPU CORE en un clúster según lo determine el escalado administrado. Unidades: recuento |
|
El número actual de unidades, nodos o vCPU CORE que se ejecutan en un clúster. Unidades: recuento |
|
El número previsto de unidades, nodos o vCPU TASK en un clúster según lo determine el escalado administrado. Unidades: recuento |
|
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:
Un valor de 1 indica que el clúster está inactivo. Amazon EMR comprueba la inactividad continua de los clústeres ( |
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. |