Wie aktualisiere ich alle Amazon EMR-Knoten nach der Bootstrap-Aktion?

Lesedauer: 2 Minute
0

Ich möchte alle Knoten in einem Amazon EMR-Cluster aktualisieren, nachdem der BOOTSTRAPPING-Status abgeschlossen ist.

Lösung

Die Bootstrap-Aktion findet statt, bevor Amazon EMR Anwendungen wie Apache Hadoop und Apache Spark installiert und konfiguriert. Um alle Cluster-Knoten zu ändern, nachdem Amazon EMR die Anwendungen installiert und konfiguriert hat, füge ein Bootstrap-Aktionsskript hinzu.

Aktualisiere das folgende Bash-Skript mit den Änderungen, die du auf deine Knoten anwenden möchtest:

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

Hinweis: Standardmäßig verwendet das vorhergehende Skript den hadoop-Benutzer. Wenn für deine Änderungen Berechtigungen erforderlich sind, aktualisiere den Benutzer auf sudo.

Nachdem du das Bash-Skript aktualisiert hast, hänge das Skript als Bootstrap-Aktionsskript an deinen Cluster an.

Ähnliche Informationen

Den Cluster-Lebenszyklus verstehen

Erstelle Bootstrap-Aktionen, um zusätzliche Software mit einem Amazon EMR-Cluster zu installieren

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Monaten