¿Cómo actualizo todos los nodos de Amazon EMR después de la fase de arranque?

2 minutos de lectura
0

Quiero actualizar todos los nodos de un clúster de Amazon EMR una vez finalizado el estado BOOTSTRAPPING.

Descripción breve

La fase de arranque se produce antes de que Amazon EMR instale y configure aplicaciones como Apache Hadoop y Apache Spark. Para realizar cambios adicionales en todos los nodos del clúster después de que Amazon EMR instale y configure las aplicaciones, ejecute una acción de arranque que descargue y ejecute otro script.

Resolución

1.    Cree un script bash que especifique los cambios que desea realizar en todos los nodos del clúster. Consulte los siguientes ejemplos.

Ejemplo 1: Este script espera a que esté disponible un archivo de configuración (/etc/hadoop/conf/hadoop-env.sh) y, a continuación, realiza tareas adicionales.

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

Ejemplo 2: Este script espera a que el clúster de EMR entre en estado EN ESPERA antes de implementar la personalización adicional. Esto permite que el clúster de EMR termine de instalar y configurar Hadoop y otras aplicaciones.

#!/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.    Inicie un clúster de EMR y añada una acción de arranque similar a la siguiente. Este script descarga el script que creó en el paso anterior (script_b.sh) y, a continuación, lo ejecuta en segundo plano.

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

Información relacionada

Understanding the cluster lifecycle (Descripción del ciclo de vida del clúster)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años