Salta al contenuto

Come posso aggiornare tutti i nodi Amazon EMR dopo l'azione di bootstrap?

2 minuti di lettura
0

Desidero aggiornare tutti i nodi in un cluster Amazon EMR dopo che lo stato BOOTSTRAPPING è completo.

Risoluzione

L'azione di bootstrap si verifica prima che Amazon EMR installi e configuri applicazioni come Apache Hadoop e Apache Spark. Per modificare tutti i nodi del cluster dopo che Amazon EMR ha installato e configurato le applicazioni, allega uno script di azione di bootstrap.

Aggiorna il seguente script bash con le modifiche che desideri applicare ai nodi:

#!/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

Nota: per impostazione predefinita, lo script precedente utilizza l'utente hadoop. Se le modifiche richiedono autorizzazioni, aggiorna l'utente a sudo.

Dopo aver aggiornato lo script bash, collegalo al cluster come script di azione di bootstrap.

Informazioni correlate

Understanding the cluster lifecycle (Comprendere il ciclo di vita del cluster)

Create bootstrap actions to install additional software with an Amazon EMR cluster (Creazione di azioni di bootstrap per installare software aggiuntivo con un cluster Amazon EMR)

AWS UFFICIALEAggiornata un anno fa