Comment puis-je configurer ou modifier l'étiquetage des nœuds YARN dans Amazon EMR ?

Lecture de 5 minute(s)
0

Je souhaite configurer ou modifier l'étiquetage des nœuds Apache Hadoop YARN dans Amazon EMR.

Brève description

Les paramètres d'étiquette de nœud YARN par défaut dépendent de votre version d'Amazon EMR.

Amazon EMR versions 5.19.x et ultérieures dans les versions finales d'Amazon EMR-5.x

La fonctionnalité d'étiquettes de nœud YARN est activée par défaut. Lorsque vous activez cette fonctionnalité, l'étiquette de nœud CORE est créée pour les nœuds primaires avec les propriétés suivantes :

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

Les conteneurs ApplicationMaster YARN sont alloués uniquement sur les nœuds primaires. Pour tous les autres conteneurs, il n'existe aucune restriction de partition. Vous pouvez allouer les conteneurs sur des nœuds primaires ou des nœuds de tâches.

Amazon EMR version 6.x et versions ultérieures

La fonctionnalité d'étiquette de nœud YARN est désactivée par défaut. Les processus primaires de l'application peuvent être exécutés à la fois sur les nœuds primaires et sur les nœuds de tâches.

Résolution

Remarque : Avant de configurer les étiquettes de nœud YARN dans votre environnement de production, il est recommandé de les configurer dans un environnement de test. Lorsque vous désactivez la fonctionnalité d'étiquette de nœud YARN, le conteneur Application-Master est lancé dans n'importe quel type de nœud. Il n'existe aucune restriction pour les nœuds de tâches. Pour les nœuds de tâches configurés avec des instances ponctuelles Amazon Elastic Compute Cloud (Amazon EC2), l'exécution des tâches peut échouer si le nœud de tâche tombe en panne en raison d'une contrainte de capacité Spot.

Désactiver les étiquettes YARN dans Amazon EMR version 5.19.x et versions ultérieures dans les versions Amazon EMR-5.x

Désactiver la fonctionnalité d'étiquette YARN lors de la création d’un cluster EMR

Procédez comme suit :

  1. Dans la section Modifier les paramètres du logiciel, sous Entrer la configuration, ajoutez les propriétés suivantes :

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "false",  
          "yarn.node-labels.am.default-node-label-expression": ""  
        }  
      }  
    ]
  2. Créez le script suivant avec une extension .sh, puis chargez-le dans un compartiment 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. Dans la section Actions d’amorçage, ajoutez le script en tant qu'action personnalisée, puis créez le cluster.

  4. Pour confirmer que la modification est appliquée, exécutez la commande suivante dans le nœud primaire :

    yarn cluster --list-node-labels

    La sortie affiche une valeur vide pour les étiquettes de nœud :

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

Désactiver la fonctionnalité d'étiquette YARN dans un cluster Amazon EMR existant

Procédez comme suit :

  1. Utilisez SSH pour vous connecter au nœud primaire Amazon EMR.

  2. Créez une sauvegarde de votre fichier yarn-site.xml. Le chemin est :/etc/hadoop/conf/yarn-site.xml.

  3. Exécutez la commande suivante pour ouvrir le fichier yarn-site.xml en mode éditeur de fichier :

    sudo su vi yarn-site.xml
  4. Remplacez la valeur de la propriété yarn.node-labels.enabled par faux :

    <property>  
      <name>yarn.node-labels.enabled</name>  
      <value>false</value>  
    </property>
  5. Supprimez la valeur de CORE dans la propriété yarn.node-labels.am.default-node-label-expression :

    <property>  
      <name>yarn.node-labels.am.default-node-label-expression</name>  
      <value></value>  
    </property>
  6. Si la version de votre cluster est ultérieure à la version 5.29.0, exécutez les commandes suivantes pour redémarrer ResourceManager :

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

    -ou-
    Si la version de votre cluster est 5.29.0 ou antérieure, exécutez les commandes suivantes pour redémarrer ResourceManager :

    sudo stop hadoop-yarn-resourcemanager
    sudo start hadoop-yarn-resourcemanager
  7. Pour confirmer que la modification est appliquée, exécutez la commande suivante :

    yarn cluster --list-node-labels

    La sortie affiche une valeur vide pour les étiquettes de nœud :

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

Activer la fonctionnalité d'étiquette YARN dans Amazon EMR version 6.x et versions ultérieures

Activer la fonction d'étiquette YARN lors de la création d’un cluster EMR

  1. Dans la section Modifier les paramètres du logiciel, sous Entrer la configuration, ajoutez les propriétés suivantes :

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

  3. Pour confirmer que la modification est appliquée, exécutez la commande suivante dans le nœud primaire :

    yarn cluster --list-node-labels

    La sortie affiche une valeur vide pour les étiquettes de nœud :

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

Activer la fonction d'étiquette YARN dans un cluster EMR existant

Procédez comme suit :

  1. Ouvrez la console Amazon EMR.

  2. Dans le volet de navigation, sélectionnez Clusters, puis sélectionnez le cluster que vous souhaitez modifier.

  3. Sélectionnez l'onglet Configuration.

  4. Dans Configurations de groupe d'instances, choisissez un groupe d'instances.

  5. Choisissez l'icône Reconfigurer, sélectionnez Modifier dans JSON, puis ajoutez les propriétés suivantes :

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "true",  
          "yarn.node-labels.am.default-node-label-expression": "CORE"  
        }  
      }  
    ]
  6. Sélectionnez Appliquer cette configuration à tous les groupes d'instances actifs, puis enregistrez les modifications.

  7. Exécutez la commande suivante en tant qu'utilisateur hadoop sur le nœud primaire :

    yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"
  8. Pour confirmer que la modification est appliquée, exécutez la commande suivante dans le nœud primaire :

    yarn cluster --list-node-labels

    La sortie affiche une valeur vide pour les étiquettes de nœud :

    <<<<< Node Labels: <CORE:exclusivity=false>  >>>>>>
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois