Come posso configurare o modificare l'etichettatura dei nodi con la coda di Amazon EMR YARN Scheduler?

4 minuti di lettura
0

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>  >>>>>>

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa