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'true
utilizzo 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
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 |
|
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 |
|
0 |
Lo spazio minimo che deve essere disponibile su un disco affinché possa essere utilizzato. Ciò è valido per |