Il cluster Amazon EMR termina con NO_SLAVE_LEFT e i nodi principali FAILED_BY_MASTER - 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à.

Il cluster Amazon EMR termina con NO_SLAVE_LEFT e i nodi principali FAILED_BY_MASTER

In genere, ciò accade perché la protezione da cessazione è disabilitata e tutti i nodi principali superano la capacità di storage su disco come specificato da una soglia di utilizzo massimo nella classificazione di configurazione yarn-site, che corrisponde al file yarn-site.xml. Per impostazione predefinita, questo valore è 90%. Quando l'utilizzo del disco per un nodo principale supera la soglia di utilizzo, il servizio sanitario YARN segnala il nodo come. NodeManager UNHEALTHY Mentre è in questo stato, Amazon EMR elenca come negato il nodo e non assegna i container YARN a tale nodo. Se il nodo non è integro per 45 minuti, Amazon EMR contrassegna l'istanza EC2 Amazon associata per la terminazione come. FAILED_BY_MASTER Quando tutte le EC2 istanze Amazon associate ai nodi principali sono contrassegnate per la chiusura, il cluster termina con lo stato NO_SLAVE_LEFT perché non ci sono risorse per eseguire i job.

Il superamento dell'utilizzo del disco su un nodo principali potrebbe causare una reazione a catena. Se un singolo nodo supera la soglia di utilizzo del disco a causa di HDFS, è probabile che anche altri nodi siano vicini alla soglia. Il primo nodo supera la soglia di utilizzo del disco, quindi Amazon EMR lo elenca come negato. Ciò aumenta il carico di utilizzo del disco per i nodi rimanenti perché questi iniziano a replicare tra loro i dati HDFS che hanno perso sul nodo elencato come negato. Di conseguenza, ogni nodo diventa UNHEALTHY nello stesso modo e infine il cluster viene terminato.

Best practice e raccomandazioni

Configurazione di hardware cluster con archiviazione adeguata

Quando crei un cluster, accertati che vi sia un numero sufficiente di nodi principali e che ogni nodo disponga di volumi adeguati di storage EBS e instance store per HDFS. Per ulteriori informazioni, consulta Calcolo della capacità HDFS richiesta di un cluster. Puoi inoltre aggiungere istanze principali ai gruppi di istanze esistenti manualmente o utilizzando il dimensionamento automatico. Le nuove istanze hanno la stessa configurazione di storage delle altre istanze nel gruppo di istanze. Per ulteriori informazioni, consulta Usa la scalabilità dei cluster Amazon EMR per adattarti ai carichi di lavoro in continua evoluzione.

Abilitare la protezione da cessazione

Abilita la protezione da cessazione. In questo modo, se un nodo principale è in elenco negato, puoi connetterti all' EC2 istanza Amazon associata utilizzando SSH per risolvere i problemi e ripristinare i dati. Se abiliti la protezione dalla terminazione, tieni presente che Amazon EMR non sostituisce l'istanza EC2 Amazon con una nuova istanza. Per ulteriori informazioni, consulta Utilizzo della protezione dalle terminazioni per proteggere i cluster Amazon EMR da arresti accidentali.

Crea un allarme per la metrica Nodes MRUnhealthy CloudWatch

Questo parametro indica il numero di nodi con stato UNHEALTHY. È equivalente al parametro YARN mapred.resourcemanager.NoOfUnhealthyNodes. Puoi impostare una notifica per questo allarme in modo che ti vengano segnalati i nodi non integri prima che venga raggiunto il timeout di 45 minuti. Per ulteriori informazioni, consulta Monitoraggio dei parametri di Amazon EMR con CloudWatch.

Impostazioni Tweak mediante yarn-site

Le impostazioni riportate di seguito possono essere regolate in base ai requisiti dell'applicazione. Ad esempio, potresti voler aumentare la soglia di utilizzo del disco in base alla quale un nodo segnala lo stato UNHEALTHY aumentando il valore di yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage.

Puoi impostare questi valori quando crei un cluster utilizzando la classificazione di configurazione yarn-site. Per ulteriori informazioni, consulta Configurazione delle applicazioni nella Guida ai rilasci di Amazon EMR. Puoi anche connetterti alle EC2 istanze Amazon associate ai nodi principali tramite SSH e quindi aggiungere i valori /etc/hadoop/conf.empty/yarn-site.xml utilizzando un editor di testo. Dopo aver apportato la modifica, è necessario riavviare il sistema hadoop-yarn-nodemanager come illustrato di seguito.

Importante

Quando si riavvia il NodeManager servizio, i contenitori YARN attivi vengono eliminati a meno che non yarn.nodemanager.recovery.enabled sia impostato l'trueutilizzo della classificazione di yarn-site configurazione al momento della creazione del cluster. Devi inoltre specificare la directory in cui memorizzare lo stato del container utilizzando la proprietà yarn.nodemanager.recovery.dir.

sudo /sbin/stop hadoop-yarn-nodemanager sudo /sbin/start hadoop-yarn-nodemanager

Per ulteriori informazioni sulle proprietà yarn-site correnti e i valori predefiniti, consulta la pagina delle impostazioni predefinite di YARN nella documentazione di Apache Hadoop.

Proprietà Valore predefinito Descrizione

yarn.nodemanager. disk-health-checker.intervallo-ms

120000

La frequenza (in secondi) con cui viene eseguito il controllo dello stato del disco.

yarn.nodemanager. disk-health-checker. min-healthy-disks

0.25

La frazione minima del numero di dischi che devono essere integri per NodeManager poter avviare nuovi contenitori. Ciò corrisponde sia a yarn.nodemanager.local-dirs (per impostazione predefinita /mnt/yarn in Amazon EMR) che a yarn.nodemanager.log-dirs (per impostazione predefinita /var/log/hadoop-yarn/containers, del quale è eseguito il symlink a mnt/var/log/hadoop-yarn/containers in Amazon EMR).

yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage

90,0

La percentuale massima di utilizzo dello spazio su disco consentita dopo che un disco viene contrassegnato come difettoso. I valori possono andare da 0,0 a 100,0. Se il valore è maggiore o uguale a 100, NodeManager verifica la presenza di un disco completo. Ciò è valido per yarn-nodemanager.local-dirs e yarn.nodemanager.log-dirs.

yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb

0

Lo spazio minimo che deve essere disponibile su un disco affinché possa essere utilizzato. Ciò è valido per yarn-nodemanager.local-dirs e yarn.nodemanager.log-dirs.