Come posso configurare o modificare l'etichettatura dei nodi YARN in Amazon EMR?

5 minuti di lettura
0

Desidero configurare o modificare l'etichettatura dei nodi YARN di Apache Hadoop in Amazon EMR.

Breve descrizione

Le impostazioni predefinite delle etichette dei nodi YARN dipendono dalla versione di Amazon EMR.

Amazon EMR versione 5.19.x e successive nelle versioni di rilascio 5.x di Amazon EMR

La funzionalità delle etichette dei nodi YARN è attivata per impostazione predefinita. Quando attivi questa funzionalità, viene creata l'etichetta CORE per i nodi principali con le proprietà seguenti:

yarn.node-labels.enabled: true  
yarn.node-labels.am.default-node-label-expression: 'CORE'

I container YARN ApplicationMaster sono allocati solo sui nodi principali. Per tutti gli altri container, non esiste una limitazione relativa alle partizioni. Puoi allocare i container sia sui nodi principali che sui nodi attività.

Amazon EMR versione 6.x e successive

La funzionalità delle etichette dei nodi YARN è disattivata per impostazione predefinita. I processi primari delle applicazioni possono essere eseguiti sia sui nodi principali che sui nodi attività.

Risoluzione

Nota: prima di configurare le etichette dei nodi YARN nell'ambiente di produzione, è consigliabile configurarle in un ambiente di test. Quando disattivi la funzionalità delle etichette del nodo YARN, il container Application-Master viene avviato in qualsiasi tipo di nodo. Non ci sono restrizioni per i nodi attività. Per i nodi attività configurati con le istanze spot di Amazon Elastic Compute Cloud (Amazon EC2), i processi in esecuzione potrebbero non riuscire se il nodo attività si interrompe a causa di vincoli di capacità spot.

Disattiva le etichette YARN in Amazon EMR versione 5.19.x e successive nelle versioni di rilascio 5.x di Amazon EMR

Disattiva la funzionalità delle etichette YARN quando crei un cluster EMR

Completa i passaggi seguenti:

  1. Nella sezione Modifica le impostazioni software, in Entra nella configurazione, aggiungi le proprietà seguenti:

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "false",  
          "yarn.node-labels.am.default-node-label-expression": ""  
        }  
      }  
    ]
  2. Crea lo script seguente con estensione .sh, quindi carica lo script in un bucket Amazon Simple Storage Service (Amazon S3):

    #!/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
  3. Nella sezione Operazioni di bootstrap aggiungi lo script come operazione personalizzata, quindi crea il cluster.

  4. Per verificare che la modifica sia stata applicata, esegui questo comando nel nodo principale:

    yarn cluster --list-node-labels

    L'output mostra un valore vuoto per le etichette dei nodi:

    <<<<< Node Labels: >>>>>>

Disattiva la funzionalità delle etichette YARN in un cluster Amazon EMR esistente

Completa i passaggi seguenti:

  1. Usa SSH per connetterti al nodo principale di Amazon EMR.

  2. Crea un backup del file yarn-site.xml. Il percorso è :/etc/hadoop/conf/yarn-site.xml.

  3. Esegui il comando seguente per aprire yarn-site.xml in modalità editor di file:

    sudo su vi yarn-site.xml
  4. Cambia il valore della proprietà yarn.node-labels.enabled su 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:

    <property>  
      <name>yarn.node-labels.am.default-node-label-expression</name>  
      <value></value>  
    </property>
  6. Se il cluster ha una versione successiva a 5.29.0, esegui questi comandi per riavviare ResourceManager:

    sudo systemctl restart hadoop-yarn-resourcemanager.service
    sudo systemctl status hadoop-yarn-resourcemanager.service

    -oppure-
    Se la versione del cluster è 5.29.0 o precedente, esegui questi comandi per riavviare ResourceManager:

    sudo stop hadoop-yarn-resourcemanager
    sudo start hadoop-yarn-resourcemanager
  7. Per verificare che la modifica sia stata applicata, esegui questo comando:

    yarn cluster --list-node-labels

    L'output mostra un valore vuoto per le etichette dei nodi:

    <<<<< Node Labels: >>>>>>

Attiva la funzionalità delle etichette YARN in Amazon EMR versione 6.x e successive

Attiva la funzionalità delle etichette YARN quando crei un cluster EMR

  1. Nella sezione Modifica le impostazioni software, in Entra nella configurazione, aggiungi le proprietà seguenti:

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "true",  
          "yarn.node-labels.am.default-node-label-expression": "CORE"  
        }  
      }  
    ]
  2. Crea il cluster.

  3. Per verificare che la modifica sia stata applicata, esegui questo comando nel nodo principale:

    yarn cluster --list-node-labels

    L'output mostra un valore vuoto per le etichette dei nodi:

    <<<<< Node Labels: <CORE:exclusivity=false>  >>>>>

Attiva la funzionalità delle etichette YARN in un cluster EMR esistente

Completa i passaggi seguenti:

  1. Apri la console Amazon EMR.

  2. Nel pannello di navigazione scegli Cluster, quindi seleziona il cluster che desideri modificare.

  3. Scegli la scheda Configurazione.

  4. In Configurazioni del gruppo di istanze scegli un gruppo di istanze.

  5. Fai clic sull'icona Riconfigura, seleziona Modifica in JSON e aggiungi le proprietà seguenti:

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "true",  
          "yarn.node-labels.am.default-node-label-expression": "CORE"  
        }  
      }  
    ]
  6. Scegli Apply this configuration to all active instance groups (Applica questa configurazione a tutti i gruppi di istanze attivi), quindi salva le modifiche.

  7. Esegui il comando seguente come utente hadoop nel nodo principale:

    yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"
  8. Per verificare che la modifica sia stata applicata, esegui questo comando nel nodo principale:

    yarn cluster --list-node-labels

    L'output mostra un valore vuoto per le etichette dei nodi:

    <<<<< Node Labels: <CORE:exclusivity=false>  >>>>>>
AWS UFFICIALE
AWS UFFICIALEAggiornata 5 mesi fa