Como atualizar todos os nós do Amazon EMR após a ação de bootstrap?

2 minuto de leitura
0

Quero atualizar todos os nós em um cluster do Amazon EMR após a conclusão do estado PROCESSO DE BOOTSTRAP.

Resolução

A ação de bootstrap ocorre antes de o Amazon EMR instalar e configurar aplicações como o Apache Hadoop e o Apache Spark. Para alterar todos os nós do cluster após o Amazon EMR instalar e configurar as aplicações, anexe um script de ação de bootstrap.

Atualize o seguinte script bash com as alterações que você deseja aplicar aos seus nós:

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

Observação: Por padrão, o script anterior usa o usuário hadoop. Se suas alterações exigirem permissões, atualize o usuário para sudo.

Depois de atualizar o script bash, anexe o script ao seu cluster como um script de ação de bootstrap.

Informações relacionadas

Noções básicas sobre o ciclo de vida do cluster

Crie ações de bootstrap para instalar software adicional com um cluster do Amazon EMR

AWS OFICIAL
AWS OFICIALAtualizada há 3 meses