View a markdown version of this page

Monitoraggio delle metriche di Amazon EMR con CloudWatch - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitoraggio delle metriche di Amazon EMR con CloudWatch

Le metriche vengono aggiornate ogni cinque minuti e raccolte e inviate automaticamente a CloudWatch per ogni cluster Amazon EMR. Questo intervallo non è configurabile. Le metriche di Amazon EMR riportate in CloudWatch. I parametri di datapoint di cinque minuti vengono tenuti in archivio per 63 giorni, dopodiché vengono eliminati.

Come si utilizzano i parametri di Amazon EMR?

La tabella seguente mostra gli usi comuni per i parametri segnalati da Amazon EMR. Questi suggerimenti sono solo introduttivi e non costituiscono un elenco completo. Per l'elenco completo dei parametri forniti da Amazon EMR, consulta Metriche riportate da Amazon EMR in CloudWatch.

Come...? Parametri rilevanti
Monitorare l'avanzamento del cluster Esaminare i parametri RunningMapTasks, RemainingMapTasks, RunningReduceTasks e RemainingReduceTasks.
Rilevare cluster inattivi Il parametro IsIdle verifica se un cluster è attivo anche se non esegue attività. È possibile impostare un allarme di modo che venga attivato quando il cluster è rimasto inattivo per un determinato periodo di tempo, ad esempio 30 minuti.
Rilevare quando la capacità di storage di un nodo è esaurita Il parametro MRUnhealthyNodes tiene traccia quando uno o più nodi principali o attività esauriscono la capacità di archiviazione su disco locale e la transizione a uno stato YARN UNHEALTHY. Ad esempio, i nodi principali o attività stanno esaurendo spazio su disco e non saranno in grado di eseguire attività.
Rileva quando un cluster esaurisce la capacità d'archiviazione Il parametro HDFSUtilization monitora la capacità HDFS combinata del cluster e può richiederne il ridimensionamento del cluster per aggiungere più nodi principali. Ad esempio, l'utilizzo di HDFS è elevato, il che può influire sull'integrità dei processi e sul cluster.
Rileva quando un cluster è in esecuzione a capacità ridotta Il parametro MRLostNodes tiene traccia quando uno o più nodi principali o attività non sono in grado di comunicare con il nodo master. Ad esempio, il nodo principale o attività non è raggiungibile dal nodo master.

Per ulteriori informazioni, consulta Il cluster Amazon EMR termina con NO_SLAVE_LEFT e i nodi principali FAILED_BY_MASTER e AWSSupport-AnalyzeEMRLogs.

Accesso CloudWatch metriche per Amazon EMR

Puoi visualizzare le metriche a cui fa riferimento Amazon EMR CloudWatch utilizzando la console Amazon EMR o il CloudWatch console. Puoi anche recuperare le metriche utilizzando CloudWatch Comando CLI mon-get-stats o il CloudWatch GetMetricStatistics API. Per ulteriori informazioni sulla visualizzazione o il recupero delle metriche per Amazon EMR, utilizza CloudWatch, consulta il Amazon CloudWatch Guida per l'utente.

Console
Per visualizzare le metriche con la console
  1. Accedi al Console di gestione AWS e apri la console Amazon EMR all'indirizzo https://console.aws.amazon.com/emr.

  2. In EMR on EC2 (EMR su EC2), nel riquadro di navigazione a sinistra, scegli Clusters (Cluster) e seleziona il cluster per il quale vuoi visualizzare i parametri. Si apre la pagina dei dettagli del cluster.

  3. Seleziona la scheda Monitoring (Monitoraggio) nella pagina dei dettagli del cluster. Scegli una qualsiasi delle schede Cluster status (Stato del cluster), Node status (Stato del nodo) o Inputs and outputs (Input e output) per caricare i report sull'avanzamento e sull'integrità del cluster.

  4. Dopo avere scelto un parametro da visualizzare, puoi ingrandire ciascun grafico. Per filtrare l'intervallo di tempo del grafico, seleziona un'opzione precompilata o scegli Custom (Personalizzato).

Metriche riportate da Amazon EMR in CloudWatch

Le tabelle seguenti elencano le metriche che Amazon EMR riporta nella console e a cui invia CloudWatch.

Parametri di Amazon EMR

Amazon EMR invia i dati per diverse metriche a CloudWatch. Tutti i cluster Amazon EMR inviano automaticamente i parametri a intervalli di cinque minuti. I parametri sono conservati per due settimane; dopo tale periodo, i dati vengono eliminati.

Lo spazio dei nomi AWS/ElasticMapReduce include i parametri descritti di seguito.

Nota

Amazon EMR estrae i parametri da un cluster. Se un cluster diventa inaccessibile, non viene indicato alcun parametro fino a che il cluster non è di nuovo disponibile.

I seguenti parametri sono disponibili per i cluster sui quali sono in esecuzione le versioni 2.x di Hadoop.

Metrica Description
Stato del cluster

IsIdle

Indica che un cluster non è più in esecuzione ma è ancora attivo e genera spese. È impostato su 1 se non vi sono task e processi in esecuzione, altrimenti è impostato su 0. Questo valore viene verificato a intervalli di cinque minuti e un valore 1 indica unicamente l'inattività del cluster al momento della verifica e non durante i cinque minuti. Per evitare falsi positivi, devi attivare un allarme quando questo valore è 1 durante due o più verifiche consecutive di cinque minuti. Ad esempio, puoi attivare un allarme se questo valore è 1 per trenta minuti o più.

Caso d'uso: monitorare le prestazioni del cluster

Unità: booleane

ContainerAllocated

Il numero di contenitori di risorse allocati da ResourceManager.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

ContainerReserved

Il numero di container riservati.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

ContainerPending

Il numero di container nella coda non ancora allocati.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

ContainerPendingRatio

Il rapporto tra contenitori in sospeso e contenitori assegnati (ContainerPendingRatio = ContainerPending / ContainerAllocated). Se ContainerAllocated = 0, quindi ContainerPendingRatio = ContainerPending. Il valore di ContainerPendingRatio rappresenta un numero, non una percentuale. Questo valore è utile per il dimensionamento delle risorse del cluster in funzione del comportamento di attribuzione dei container.

Unità: numero

AppsCompleted

Il numero di applicazioni inviate a YARN che sono state completate.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

AppsFailed

Il numero di applicazioni inviate a YARN il cui completamento non è riuscito.

Caso d'uso: monitorare l'avanzamento del cluster, monitorare lo stato del cluster

Unità: numero

AppsKilled

Il numero di applicazioni inviate a YARN che sono state interrotte.

Caso d'uso: monitorare l'avanzamento del cluster, monitorare lo stato del cluster

Unità: numero

AppsPending

Il numero di applicazioni inviate a YARN che sono in attesa.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

AppsRunning

Il numero di applicazioni inviate a YARN che sono in esecuzione.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

AppsSubmitted

Il numero di applicazioni inviate a YARN.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

Stato del nodo

CoreNodesRunning

Il numero di nodi principali attivi. I punti dati per questo parametro sono indicati solo se esiste un gruppo di istanze corrispondente.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

CoreNodesPending

Il numero di nodi principali in attesa di assegnazione. È possibile che non tutti i nodi principali richiesti siano immediatamente disponibili; questo parametro indica le richieste in attesa. I punti dati per questo parametro sono indicati solo se esiste un gruppo di istanze corrispondente.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

LiveDataNodes

La percentuale di nodi dati che ricevono attività da Hadoop.

Caso d'uso: monitorare lo stato del cluster

Unità: percentuale

MRTotalNodes

Il numero di nodi attualmente disponibili per MapReduce lavori. Equivalente al parametro YARN mapred.resourcemanager.TotalNodes.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

Nota: MRTotalNodes conta solo i nodi attualmente attivi nel sistema. YARN rimuove automaticamente i nodi terminati da questo conteggio e smette di tracciarli, quindi non vengono considerati nel MRTotalNodes metrica.

MRActiveNodes

Il numero di nodi attualmente in esecuzione MapReduce attività o lavori. Equivalente al parametro YARN mapred.resourcemanager.NoOfActiveNodes.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

MRLostNodes

Il numero di nodi assegnati a MapReduce che sono stati contrassegnati in stato LOST. Equivalente al parametro YARN mapred.resourcemanager.NoOfLostNodes.

Caso d'uso: monitorare lo stato del cluster, monitorare l'avanzamento del cluster

Unità: numero

MRUnhealthyNodes

Il numero di nodi disponibili per MapReduce lavori contrassegnati in stato NON SANO. Equivalente al parametro YARN mapred.resourcemanager.NoOfUnhealthyNodes.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

MRDecommissionedNodes

Il numero di nodi assegnati a MapReduce applicazioni che sono state contrassegnate come DISATTIVATE. Equivalente al parametro YARN mapred.resourcemanager.NoOfDecommissionedNodes.

Caso d'uso: monitorare lo stato del cluster, monitorare l'avanzamento del cluster

Unità: numero

MRRebootedNodes

Il numero di nodi disponibili per MapReduce che sono stati riavviati e contrassegnati in stato REBOOTED. Equivalente al parametro YARN mapred.resourcemanager.NoOfRebootedNodes.

Caso d'uso: monitorare lo stato del cluster, monitorare l'avanzamento del cluster

Unità: numero

MultiMasterInstanceGroupNodesRunning

Il numero di nodi master in esecuzione.

Caso d'uso: monitorare l'errore e la sostituzione del nodo master

Unità: numero

MultiMasterInstanceGroupNodesRunningPercentage

La percentuale di nodi master in esecuzione sul numero dell'istanza del nodo master richiesto.

Caso d'uso: monitorare l'errore e la sostituzione del nodo master

Unità: percentuale

MultiMasterInstanceGroupNodesRequested

Il numero di nodi master richiesti.

Caso d'uso: monitorare l'errore e la sostituzione del nodo master

Unità: numero

IO

S3BytesWritten

Il numero di byte scritti su Amazon S3. Questa metrica si aggrega MapReduce solo lavori e non si applica ad altri carichi di lavoro su Amazon EMR.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

S3BytesRead

Il numero di byte letti da Amazon S3. Questa metrica si aggrega MapReduce solo lavori e non si applica ad altri carichi di lavoro su Amazon EMR.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

HDFSUtilization

La percentuale di storage HDFS attualmente utilizzato.

Caso d'uso: analizzare le prestazioni del cluster

Unità: percentuale

HDFSBytesRead

Il numero di byte letti da HDFS. Questa metrica si aggrega MapReduce solo lavori e non si applica ad altri carichi di lavoro su Amazon EMR.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

HDFSBytesWritten

Il numero di byte scritti su HDFS. Questa metrica si aggrega MapReduce solo lavori e non si applica ad altri carichi di lavoro su Amazon EMR.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

MissingBlocks

Il numero di blocchi in cui HDFS non ha repliche. Possono essere blocchi danneggiati.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

CorruptBlocks

Il numero di blocchi che HDFS ha indicato come danneggiati.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

TotalLoad

Il numero totale di trasferimenti di dati simultanei.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

MemoryTotalMB

La quantità totale di memoria nel cluster.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

MemoryReservedMB

La quantità di memoria riservata.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

MemoryAvailableMB

La quantità di memoria disponibile da allocare.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

YARNMemoryAvailablePercentage

La percentuale di memoria residua disponibile per YARN (YARNMemoryAvailablePercentage = MemoryAvailableMB/ MemoryTotalMB). Questo valore è utile per il dimensionamento delle risorse del cluster in funzione dell'utilizzo della memoria di YARN.

Unità: percentuale

MemoryAllocatedMB

La quantità di memoria allocata al cluster.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

PendingDeletionBlocks

Il numero di blocchi contrassegnati per l'eliminazione.

Caso d'uso: monitorare l'avanzamento del cluster, monitorare lo stato del cluster

Unità: numero

UnderReplicatedBlocks

Il numero di blocchi che devono essere replicati una o più volte.

Caso d'uso: monitorare l'avanzamento del cluster, monitorare lo stato del cluster

Unità: numero

DfsPendingReplicationBlocks

Lo stato della replica dei blocchi: blocchi in corso di replica, età delle richieste di replica e richieste di replica non riuscite.

Caso d'uso: monitorare l'avanzamento del cluster, monitorare lo stato del cluster

Unità: numero

CapacityRemainingGB

La quantità di capacità rimanente del disco HDFS.

Caso d'uso: monitorare l'avanzamento del cluster, monitorare lo stato del cluster

Unità: numero

Di seguito sono descritti i parametri Hadoop 1:

Metrica Description
Stato del cluster

IsIdle

Indica che un cluster non è più in esecuzione ma è ancora attivo e genera spese. È impostato su 1 se non vi sono task e processi in esecuzione, altrimenti è impostato su 0. Questo valore viene verificato a intervalli di cinque minuti e un valore 1 indica unicamente l'inattività del cluster al momento della verifica e non durante i cinque minuti. Per evitare falsi positivi, devi attivare un allarme quando questo valore è 1 durante due o più verifiche consecutive di cinque minuti. Ad esempio, puoi attivare un allarme se questo valore è 1 per trenta minuti o più.

Caso d'uso: monitorare le prestazioni del cluster

Unità: booleane

JobsRunning

Il numero di processi nel cluster attualmente in esecuzione.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

JobsFailed

Il numero di processi nel cluster non riusciti.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

Map/Reduce

MapTasksRunning

Il numero di task di mappatura in esecuzione per ogni processo. Se hai un pianificatore installato e molteplici processi in esecuzione, vengono generati più grafici.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

MapTasksRemaining

Il numero di task di mappatura rimanenti per ogni processo. Se hai un pianificatore installato e molteplici processi in esecuzione, vengono generati più grafici. Un task di mappatura rimanente è un task il cui stato non è Running, Killed o Completed.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

MapSlotsOpen

La capacità dei task di mappatura non utilizzata. Viene calcolata come numero massimo di task di mappatura per un determinato cluster, meno il numero totale di task di mappatura attualmente in esecuzione in quel cluster.

Caso d'uso: analizzare le prestazioni del cluster

Unità: numero

RemainingMapTasksPerSlot

La proporzione tra i task di mappatura totali rimanenti e gli slot di mappatura totali disponibili nel cluster.

Caso d'uso: analizzare le prestazioni del cluster

Unità: proporzione

ReduceTasksRunning

Il numero di task di riduzione in esecuzione per ogni processo. Se hai un pianificatore installato e molteplici processi in esecuzione, vengono generati più grafici.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

ReduceTasksRemaining

Il numero di task di riduzione rimanenti per ogni processo. Se hai un pianificatore installato e molteplici processi in esecuzione, vengono generati più grafici.

Caso d'uso: monitorare l'avanzamento del cluster

Unità: numero

ReduceSlotsOpen

La capacità dei task di riduzione non utilizzata. Viene calcolata come capacità massima dei task di riduzione per un determinato cluster, meno il numero di task di riduzione attualmente in esecuzione in quel cluster.

Caso d'uso: analizzare le prestazioni del cluster

Unità: numero

Stato del nodo

CoreNodesRunning

Il numero di nodi principali attivi. I punti dati per questo parametro sono indicati solo se esiste un gruppo di istanze corrispondente.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

CoreNodesPending

Il numero di nodi principali in attesa di assegnazione. È possibile che non tutti i nodi principali richiesti siano immediatamente disponibili; questo parametro indica le richieste in attesa. I punti dati per questo parametro sono indicati solo se esiste un gruppo di istanze corrispondente.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

LiveDataNodes

La percentuale di nodi dati che ricevono attività da Hadoop.

Caso d'uso: monitorare lo stato del cluster

Unità: percentuale

TaskNodesRunning

Il numero di nodi di task attivi. I punti dati per questo parametro sono indicati solo se esiste un gruppo di istanze corrispondente.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

TaskNodesPending

Il numero di nodi di task in attesa di assegnazione. È possibile che non tutti i nodi di task richiesti siano immediatamente disponibili; questo parametro indica le richieste in attesa. I punti dati per questo parametro sono indicati solo se esiste un gruppo di istanze corrispondente.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

LiveTaskTrackers

La percentuale di tracker di task operativi.

Caso d'uso: monitorare lo stato del cluster

Unità: percentuale

IO

S3BytesWritten

Il numero di byte scritti su Amazon S3. Questa metrica si aggrega MapReduce solo lavori e non si applica ad altri carichi di lavoro su Amazon EMR.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

S3BytesRead

Il numero di byte letti da Amazon S3. Questa metrica si aggrega MapReduce solo lavori e non si applica ad altri carichi di lavoro su Amazon EMR.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

HDFSUtilization

La percentuale di storage HDFS attualmente utilizzato.

Caso d'uso: analizzare le prestazioni del cluster

Unità: percentuale

HDFSBytesRead

Il numero di byte letti da HDFS.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

HDFSBytesWritten

Il numero di byte scritti su HDFS.

Caso d'uso: analizzare le prestazioni del cluster, monitorare l'avanzamento del cluster

Unità: numero

MissingBlocks

Il numero di blocchi in cui HDFS non ha repliche. Possono essere blocchi danneggiati.

Caso d'uso: monitorare lo stato del cluster

Unità: numero

TotalLoad

Il numero totale attuale di lettori e scrittori segnalato da tutti DataNodes in un cluster.

Caso d'uso: diagnosticare il grado di elevazione I/O potrebbe contribuire a una scarsa esecuzione del lavoro. Nodi di lavoro che eseguono il DataNode daemon deve inoltre eseguire attività di mappatura e riduzione. Persistentemente alto TotalLoad i valori nel tempo possono indicare un livello così elevato I/O potrebbe essere un fattore che contribuisce alla riduzione delle prestazioni. Picchi occasionali di questo valore sono comuni e non indicano un problema.

Unità: numero

Parametri della capacità del cluster

i parametri seguenti indicano le capacità correnti o di destinazione di un cluster. Queste metriche sono disponibili solo quando sono abilitati il dimensionamento gestito o la terminazione automatica.

Per i cluster composti da parchi istanze, i parametri della capacità del cluster vengono misurate in Units. Per i cluster composti da gruppi di istanze, i parametri della capacità del cluster vengono misurate in Nodes o in VCPU in base al tipo di unità utilizzato nella policy di dimensionamento gestito. Per ulteriori informazioni, vedere Usando EMR-managed scala nel Guida alla gestione di Amazon EMR.

Metrica Description
  • TotalUnitsRequested

  • TotalNodesRequested

  • TotalVCPURequested

Il numero totale target di units/nodes/vCPU in un cluster in base alla scalabilità gestita.

Unità: numero

  • TotalUnitsRunning

  • TotalNodesRunning

  • TotalVCPURunning

Il numero totale attuale di units/nodes/vCPU disponibili in un cluster in esecuzione. Quando viene richiesto il ridimensionamento di un cluster, questo parametro verrà aggiornato dopo l'aggiunta o la rimozione delle nuove istanze dal cluster.

Unità: numero

  • CoreUnitsRequested

  • CoreNodesRequested

  • CoreVCPURequested

Il numero target di CORE units/nodes/vCPU in un cluster in base alla scalabilità gestita.

Unità: numero

  • CoreUnitsRunning

  • CoreNodesRunning

  • CoreVCPURunning

Il numero attuale di CORE units/nodes/vCPU in esecuzione in un cluster.

Unità: numero

  • TaskUnitsRequested

  • TaskNodesRequested

  • TaskVCPURequested

Il numero di destinazione di TASK units/nodes/vCPU in un cluster in base alla scalabilità gestita.

Unità: numero

  • TaskUnitsRunning

  • TaskNodesRunning

  • TaskVCPURunning

Il numero attuale di TASK units/nodes/vCPU in esecuzione in un cluster.

Unità: numero

Amazon EMR emette le seguenti metriche con una granularità di un minuto quando abiliti la terminazione automatica utilizzando una policy di terminazione automatica. Alcune metriche sono disponibili solo per Amazon EMR versione 6.4.0 e successive. Per ulteriori informazioni sulla terminazione automatica, consulta Utilizzo di una politica di terminazione automatica per la pulizia del cluster Amazon EMR.

Metrica Description
TotalNotebookKernels Il numero totale di kernel notebook in esecuzione e inattivi sul cluster.

Questa metrica è disponibile solo in Amazon EMR versione 6.4.0 e successive.

AutoTerminationIsClusterIdle Indica se il cluster è in uso.

Un valore di 0 indica che il cluster è in uso attivo da uno dei seguenti componenti:

  • Un'applicazione YARN

  • HDFS

  • Un notebook

  • Un'interfaccia utente on-cluster, come Spark History Server

Un valore di 1 indica che il cluster è inattivo. Amazon EMR verifica l'inattività continua del cluster (AutoTerminationIsClusterIdle=1). Quando il tempo di inattività di un cluster è uguale al valore IdleTimeout nella tua policy di terminazione automatica, Amazon EMR termina il cluster.

Dimensioni per i parametri Amazon EMR

I dati di Amazon EMR possono essere filtrati utilizzando una qualsiasi delle dimensioni nella tabella esposta di seguito.

Dimensione Description
JobFlowId Uguale all'ID del cluster che è l'identificatore univoco di un cluster nel formato j-XXXXXXXXXXXXX. Puoi trovare questo valore facendo clic sul cluster nella console di Amazon EMR.