Comment mettre à jour tous les nœuds Amazon EMR après la phase d'amorçage ?

Lecture de 2 minute(s)
0

Je veux mettre à jour tous les nœuds d'un cluster Amazon EMR une fois l'état EN COURS D’AMORÇAGE terminé.

Brève description

La phase d'amorçage se produit avant qu'Amazon EMR installe et configure des applications telles qu’Apache Hadoop et Apache Spark. Pour apporter des modifications supplémentaires sur tous les nœuds de cluster après l'installation et la configuration des applications par Amazon EMR, exécutez une action d'amorçage qui télécharge et exécute un autre script.

Résolution

1.    Créez un script bash qui spécifie les modifications que vous souhaitez apporter à tous les nœuds de cluster. Reportez-vous aux exemples suivants :

Exemple 1 : Ce script attend qu'un fichier de configuration (/etc/hadoop/conf/hadoop-env.sh) soit disponible, puis effectue des travaux supplémentaires.

#!/bin/bash
#
# This is an example of script_b.sh
#
while [ ! -f /etc/hadoop/conf/hadoop-env.sh ]
do
  sleep 1
done
#
# Now the file is available, do your work here
#

exit 0

Exemple 2 : Ce script attend que le cluster EMR passe à l'état EN ATTENTE avant d'implémenter une personnalisation supplémentaire. Cela permet au cluster EMR de terminer l'installation et la configuration de Hadoop et d'autres applications.

#!/bin/bash
#
# This is an example of script_b.sh
#
# Wait for EMR provisioning to become successful.
#
while [[ $(sed '/localInstance {/{:1; /}/!{N; b1}; /nodeProvision/p}; d' /emr/instance-controller/lib/info/job-flow-state.txt | sed '/nodeProvisionCheckinRecord {/{:1; /}/!{N; b1}; /status/p}; d' | awk '/SUCCESSFUL/' | xargs) != "status: SUCCESSFUL" ]];
do
  sleep 1
done
#
# Now the EMR cluster is ready. Do your work here.
#

exit 0

2.    Lancez un cluster EMR et ajoutez une action d'amorçage similaire à ce qui suit. Ce script télécharge le script que vous avez créé à l'étape précédente (script_b.sh), puis l'exécute en arrière-plan.

#!/bin/bash
aws s3 cp s3://doc-example-bucket/script_b.sh .
chmod +x script_b.sh
nohup ./script_b.sh &>/dev/null &

Informations connexes

Comprendre le cycle de vie d’un cluster

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans