Comment configurer ou modifier l'étiquetage des nœuds avec la file d'attente Amazon EMR YARN Scheduler ?

Lecture de 5 minute(s)
0

Je souhaite configurer ou modifier l'étiquetage des nœuds à l'aide de la file d'attente Amazon EMR Apache YARN Scheduler.

Brève description

Les paramètres d'étiquette de nœud YARN par défaut pour les clusters EMR sont les suivants :

Amazon EMR version 5.19.x et versions ultérieures de la série Amazon EMR-5.x.x :

la fonction d'étiquettes de nœuds YARN est activée par défaut. Cela signifie que l'étiquette de nœud CORE est créée pour les nœuds principaux avec les propriétés suivantes. Les conteneurs YARN Application-Master sont alloués uniquement aux nœuds principaux. Tous les autres conteneurs n'ont aucune restriction en matière de partition. Vous pouvez allouer les conteneurs sur des nœuds principaux ou des nœuds de tâches.

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

Amazon EMR version 6.X et versions ultérieures :

la fonction d'étiquettes de nœuds YARN est désactivée par défaut. Les processus principaux de l'application peuvent s'exécuter à la fois sur les nœuds principaux et les nœuds de tâches.

Solution

Remarque : il est recommandé d'effectuer des modifications dans un environnement de test avant de passer à votre environnement de production. En outre, lorsque vous désactivez la fonction d'étiquettes des nœuds YARN, le conteneur Application-Master démarre dans n'importe quel type de nœud, que ce soit un nœud principal ou un nœud de tâches. Les nœuds de tâches ne sont soumis à aucune restriction. Si vous configurez les nœuds de tâches avec des instances Spot, l'exécution des tâches peut échouer si le nœud de tâches tombe en panne en raison d'une contrainte en matière de capacité ponctuelle.

Désactivez la fonction d'étiquettes YARN dans Amazon EMR version 5.19.x et versions ultérieures dans la série Amazon EMR-5.x.x

Désactivez la fonction d'étiquettes YARN par défaut lors de la création d'un nouveau cluster EMR :

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

[
  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.node-labels.enabled": "false",
      "yarn.node-labels.am.default-node-label-expression": ""
    }
  }
]

2.    Créez un script ayant l'extension .sh à l'aide du contenu suivant et chargez-le dans un compartiment Amazon Simple Storage Service (Amazon S3).

3.    Dans la section Actions d'amorçage, ajoutez le script nouvellement créé en tant qu'action personnalisée et procédez à la création du 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.    Une fois la création du cluster terminée, confirmez que la modification a été appliquée en exécutant la commande suivante dans le nœud principal :

yarn cluster --list-node-labels

Le résultat attendu de la commande précédente affiche une valeur vide pour les étiquettes de nœud :

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

Désactivez la fonction d'étiquettes YARN par défaut dans un cluster EMR existant :

1.    Connectez-vous au nœud primaire Amazon EMR via SSH.

2.    Créez une sauvegarde du fichier yarn-site.xml existant. Le chemin est le suivant : /etc/hadoop/conf/yarn-site.xml.

3.    Ouvrez le fichieryarn-site.xml en mode éditeur de fichiers à l'aide de la commande suivante :

sudo su vi yarn-site.xml

4.    Modifiez la valeur de la propriété yarn.node-labels.enabled sur incorrect.

<property>
<name>yarn.node-labels.enabled</name>
<value>false</value>
</property>

5.    Supprimez la valeur CORE dans la propriété yarn.node-labels.am.default-node-label-expression, comme indiqué dans l'exemple suivant :

<property>
    <name>yarn.node-labels.am.default-node-label-expression</name>
    <value></value>
  </property>

6.    Redémarrez le service YARN ResourceManger :

sudo systemctl restart hadoop-yarn-resourcemanager.service

sudo systemctl status hadoop-yarn-resourcemanager.service

7.    Vérifiez que la modification est correctement appliquée à l'aide de la commande suivante :

yarn cluster --list-node-labels

Le résultat attendu de la commande précédente affiche une valeur vide pour les étiquettes de nœud :

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

Activez la fonction d'étiquettes YARN dans Amazon EMR version 6.x et versions ultérieures

Activez la fonction d'étiquettes YARN lors de la création d'un nouveau cluster EMR :

1.    Ajoutez les propriétés suivantes à la section Modifier les paramètres du logiciel, Saisir la configuration, puis procédez à la création du cluster :

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

2.    Une fois la création du cluster terminée, confirmez que la modification est correctement appliquée en exécutant la commande suivante dans le nœud principal :

yarn cluster --list-node-labels

Voici un exemple du résultat attendu de la commande précédente :

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

Activez la fonction d'étiquettes YARN dans un cluster EMR existant :

1.    Dans la console Amazon EMR, sélectionnez Clusters, puis sélectionnez le cluster que vous souhaitez modifier.

2.    Choisissez l'onglet Configurations.

3.    Sélectionnez l'option Modifier au format JSON sous l'onglet Reconfigurer et ajoutez les propriétés suivantes.

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

4.    Sélectionnez l'option Appliquer cette configuration à tous les groupes d'instances actifs, puis enregistrez les modifications.

5.    Vérifiez que la modification est appliquée en exécutant la commande suivante dans le nœud principal :

yarn cluster --list-node-labels

Voici un exemple du résultat attendu de la commande précédente :

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

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an