En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Comment puis-je mettre à jour tous les nœuds Amazon EMR après l'action d’amorçage ?

Lecture de 2 minute(s)
0

Je souhaite mettre à jour tous les nœuds d'un cluster Amazon EMR une fois que l'état BOOTSTRAPPING est terminé.

Résolution

L'action d’amorçage se produit avant qu'Amazon EMR n'installe et ne configure des applications, telles qu'Apache Hadoop et Apache Spark. Pour modifier tous les nœuds de cluster après l'installation et la configuration des applications par Amazon EMR, attachez un script d'action d’amorçage.

Mettez à jour le script Bash suivant avec les modifications que vous souhaitez appliquer à vos nœuds :

#!/bin/bash
set -xe

EMR_SECONDARY_BA_SCRIPT=$(cat <<'EOF'
while true; do
NODEPROVISIONSTATE=` sed -n '/localInstance [{]/,/[}]/{
/nodeProvisionCheckinRecord [{]/,/[}]/ {
/status: / { p }
/[}]/a
}
/[}]/a
}' /emr/instance-controller/lib/info/job-flow-state.txt | awk ' { print $2 }'`

if [ "$NODEPROVISIONSTATE" == "SUCCESSFUL" ]; then
sleep 10;
echo "Running my post provision bootstrap"
NODETYPE=$(cat /mnt/var/lib/instance-controller/extraInstanceData.json | jq -r '.instanceRole' | awk '{print tolower($0)}')

if [  "$NODETYPE" == "master" ]
then
echo "In Master"
######ENTER YOUR CODE THAT SHOULD BE EXECUTED ON PRIMARY NODE######


elif [ "$NODETYPE" == "core"  ]
then
echo "In Core"
######ENTER YOUR CODE THAT SHOULD BE EXECUTED ON CORE NODE######


elif [ "$NODETYPE" == "task"  ]
then
echo "In Task"
######ENTER YOUR CODE THAT SHOULD BE EXECUTED ON TASK NODE######

fi

exit;
fi
sleep 10;
done
EOF
)

echo "${EMR_SECONDARY_BA_SCRIPT}" | tee -a /tmp/emr-secondary-ba.sh
chmod u+x /tmp/emr-secondary-ba.sh
/tmp/emr-secondary-ba.sh &> /tmp/emr-secondary-ba.log &
exit 0

Remarque : Par défaut, le script précédent utilise l'utilisateur hadoop. Si vos modifications requièrent des autorisations, mettez à jour l’utilisateur vers sudo.

Après avoir mis à jour le script Bash, attachez-le à votre cluster en tant que script d'action d’amorçage.

Informations connexes

Comprendre le cycle de vie des clusters

Créer des actions d’amorçage pour installer des logiciels supplémentaires avec un cluster Amazon EMR

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 25 jours