Come posso configurare o modificare l'etichettatura dei nodi con la coda di Amazon EMR YARN Scheduler?
Ultimo aggiornamento: 13/12/2022
Desidero configurare o modificare l'etichettatura dei nodi utilizzando la coda di Amazon EMR Apache YARN Scheduler.
Breve descrizione
Le impostazioni predefinite delle etichette dei nodi YARN per i cluster EMR sono le seguenti:
Amazon EMR versione 5.19.x e successive nella serie Amazon EMR-5.x.x:
La funzionalità delle etichette dei nodi YARN è attivata per impostazione predefinita. Ciò significa che l'etichetta nodo PRINCIPALE viene creata per i nodi principali con le seguenti proprietà. I container YARN Application-Master sono allocati solo sui nodi principali. Per tutti gli altri container, non esiste una limitazione di partizione. È possibile allocare i container su nodi principali o nodi attività.
yarn.node-labels.enabled: true
yarn.node-labels.am.default-node-label-expression: 'CORE'
Amazon EMR versione 6.X e successive:
La funzionalità delle etichette dei nodi YARN è disattivata per impostazione predefinita. I processi principali dell'applicazione possono essere eseguiti sia sui nodi principali che sui nodi attività.
Risoluzione
Nota: è consigliabile apportare modifiche in un ambiente di test prima di procedere nell'ambiente di produzione. Inoltre, quando si disattiva la funzionalità di etichettatura dei nodi YARN, il container Application-Master viene avviato in qualsiasi tipo di nodo, come principale o attività. Non sono previste restrizioni per i nodi attività. Se configuri i nodi attività con istanze spot, i processi in esecuzione potrebbero avere esito negativo se il nodo dell'attività si interrompe a causa di un vincolo di capacità spot.
Disattivazione della funzionalità delle etichette YARN in Amazon EMR versione 5.19.x e successive nella serie Amazon EMR-5.x.x
Disattiva la funzionalità delle etichette YARN predefinita quando crei un nuovo cluster EMR:
1. Aggiungi le seguenti proprietà nella sezione Modifica le impostazioni software, Entra nella configurazione:
[
{
"Classification": "yarn-site",
"Properties": {
"yarn.node-labels.enabled": "false",
"yarn.node-labels.am.default-node-label-expression": ""
}
}
]
2. Crea uno script con l'estensione .sh utilizzando il seguente contenuto e caricalo in un bucket Amazon Simple Storage Service (Amazon S3).
3. Nella sezione Operazioni di bootstrap, aggiungi lo script appena creato come operazione personalizzata e procedi con la creazione del cluster.
#!/bin/bash
sudo sed -i 's/yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"/echo "NO LABELS"/g' /var/aws/emr/bigtop-deploy/puppet/modules/hadoop/manifests/init.pp
4. Una volta completata la creazione del cluster, verifica che la modifica sia stata applicata eseguendo il seguente comando nel nodo principale:
yarn cluster --list-node-labels
Di seguito è riportato l'output previsto del comando precedente che mostra un valore vuoto per le etichette dei nodi:
<<<<< Node Labels: >>>>>>
Disattiva la funzionalità delle etichette YARN predefinita in un cluster EMR esistente:
1. Connettiti al nodo primario di Amazon EMR utilizzando SSH.
2. Crea un backup del file yarn-site.xml esistente. Il percorso è :/etc/hadoop/conf/yarn-site.xml.
3. Apri il file yarn-site.xml in modalità editor di file utilizzando il seguente comando:
sudo su vi yarn-site.xml
4. Cambia il valore della proprietà yarn.node-labels.enabled in false.
<property>
<name>yarn.node-labels.enabled</name>
<value>false</value>
</property>
5. Rimuovi il valore CORE nella proprietà yarn.node-labels.am.default-node-label-expression come mostrato nell'esempio seguente:
<property>
<name>yarn.node-labels.am.default-node-label-expression</name>
<value></value>
</property>
6. Riavvia il servizio YARN ResourceManger:
sudo systemctl restart hadoop-yarn-resourcemanager.service
sudo systemctl status hadoop-yarn-resourcemanager.service
7. Verifica che la modifica sia stata applicata correttamente utilizzando il seguente comando:
yarn cluster --list-node-labels
Di seguito è riportato l'output previsto del comando precedente che mostra un valore vuoto per le etichette dei nodi:
<<<<< Node Labels: >>>>>>
Attivazione della funzionalità delle etichette YARN in Amazon EMR versione 6.x e successive
Attiva la funzionalità delle etichette YARN quando crei un nuovo cluster EMR:
1. Aggiungi le seguenti proprietà alla sezione Modifica le impostazioni software, Entra nella configurazione, quindi procedi con la creazione del cluster:
[
{
"Classification": "yarn-site",
"Properties": {
"yarn.node-labels.enabled": "true",
"yarn.node-labels.am.default-node-label-expression": "CORE"
}
}
]
2. Una volta completata la creazione del cluster, verifica che la modifica sia stata applicata correttamente eseguendo il seguente comando nel nodo principale:
yarn cluster --list-node-labels
Di seguito è riportato l'output previsto del comando precedente:
<<<<< Node Labels: <CORE:exclusivity=false> >>>>>
Attiva la funzionalità delle etichette YARN in un cluster EMR esistente:
1. Nella console Amazon EMR, seleziona Cluster e quindi quello che desideri modificare.
2. Seleziona la scheda Configurazioni.
3. Seleziona l'opzione Modifica in JSON nella scheda Riconfigura e aggiungi le seguenti proprietà.
[
{
"Classification": "yarn-site",
"Properties": {
"yarn.node-labels.enabled": "true",
"yarn.node-labels.am.default-node-label-expression": "CORE"
}
}
]
4. Seleziona l'opzione Apply this configuration to all active instance groups (Applica questa configurazione a tutti i gruppi di istanze attivi), quindi salva le modifiche.
5. Verifica che la modifica sia stata applicata eseguendo il seguente comando nel nodo principale:
yarn cluster --list-node-labels
Di seguito è riportato l'output previsto del comando precedente:
<<<<< Node Labels: <CORE:exclusivity=false> >>>>>>
Questo articolo è stato utile?
Hai bisogno della fattura o di supporto tecnico?