Les actions de bootstrap permettent d'installer des logiciels tiers requis ou de modifier l'environnement d'exécution d'un cluster. Cette rubrique explique comment les ajouter et fournit des exemples.
Informations générales
Lors de la création, de l'extension horizontale ou de l'activation de la mise à l'échelle automatique d'un cluster, les actions de bootstrap exécutent automatiquement des scripts spécifiés sur les nouveaux nœuds. Vous pouvez également sélectionner et exécuter manuellement des scripts par lots sur des nœuds existants pour répondre à des besoins personnalisés. Pour plus d'informations sur l'exécution manuelle de scripts, consultez Exécuter manuellement des scripts.
Comme pour l'exécution manuelle, vous pouvez utiliser des actions de bootstrap pendant ou après la création du cluster pour effectuer des opérations non prises en charge nativement par EMR, telles que :
Installer des logiciels disponibles via Yum.
Télécharger des logiciels publics depuis Internet.
Lire vos données depuis OSS.
Installer et exécuter un composant, tel que Flink ou Impala.
Limites
Vous pouvez ajouter jusqu'à 10 actions de bootstrap. Elles s'exécutent dans l'ordre spécifié.
Par défaut, EMR exécute le script en tant qu'utilisateur root. Vous pouvez également exécuter la commande
su - hadoopdans le script pour basculer vers l'utilisateur hadoop.
Ajouter une action de bootstrap
Vous pouvez ajouter une action de bootstrap de deux manières.
Pendant la création
-
Accédez à la page de gestion des clusters.
Connectez-vous à la console E-MapReduce.
Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources.
Sur la page EMR on ECS, cliquez sur CREATE_CLUSTER.
Dans la section Advanced Settings de l'étape Basic Configuration, cliquez sur Add Bootstrap Action dans la ligne Bootstrap Actions.
-
Configurez les paramètres suivants.
Paramètre
Description
Operation Name
Nom de l'action de bootstrap.
Script Path
Chemin OSS où le script est stocké.
Le chemin du script doit respecter le format oss://**/*.sh.
Parameter
Arguments du script d'action de bootstrap. Spécifiez les valeurs des variables référencées dans le script.
Execution Time
-
Before Component Installation : Le script s'exécute avant l'installation des composants.
-
Before Component Startup : Le script s'exécute après l'installation des composants, mais avant leur démarrage.
-
After Component Startup : Le script s'exécute après le démarrage des composants.
Execution Failure Policy
-
Proceed : En cas d'échec du script, le système continue d'exécuter le script suivant. Cela n'affecte pas la création ou l'extension du cluster.
-
Stop : En cas d'échec du script, le système arrête immédiatement l'exécution du script actuel et échoue la création ou l'extension du cluster.
Execution Scope
Valeurs valides :
-
Cluster : L'action de bootstrap s'applique à l'ensemble du cluster.
-
Node Group Type : L'action de bootstrap s'applique uniquement au type de groupe de nœuds sélectionné.
Pour des exemples d'actions de bootstrap, consultez Exemples.
RemarqueSi vous sélectionnez la stratégie Proceed, un échec de l'action de bootstrap n'affecte pas la création du cluster.
Pour plus d'informations sur la création d'un cluster, consultez Créer un cluster. Une fois le cluster créé, accédez à la page Script Operation du cluster pour vérifier les erreurs. En cas d'erreur, consultez Afficher les journaux d'exécution de script.
-
Après la création
-
Accédez à la page Script operation.
Connectez-vous à la console E-MapReduce.
Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources.
Cliquez sur Services pour le cluster cible.
Cliquez sur l'onglet Script Operation.
Sur la page Bootstrap Actions, cliquez sur Add Bootstrap Action.
-
Dans la boîte de dialogue Add Bootstrap Action, configurez les paramètres.

Paramètre
Description
Name
Nom de l'action de bootstrap.
Script Address
Chemin OSS où le script est stocké.
Le chemin du script doit respecter le format oss://**/*.sh.
Parameter
Arguments du script d'action de bootstrap. Spécifiez les valeurs des variables référencées dans le script.
Execution Scope
Valeurs valides :
-
Cluster : L'action de bootstrap s'applique à l'ensemble du cluster.
-
Node Group Type : L'action de bootstrap s'applique uniquement au type de groupe de nœuds sélectionné.
-
Node Group : L'action de bootstrap s'applique uniquement au groupe de nœuds sélectionné.
Execution Time
-
Before Component Installation : Le script s'exécute avant l'installation des composants.
-
Before Component Startup : Le script s'exécute après l'installation des composants, mais avant leur démarrage.
-
After Component Startup : Le script s'exécute après le démarrage des composants.
Execution Failure Policy
-
Proceed : En cas d'échec du script, le système continue d'exécuter le script suivant. Cela n'affecte pas la création ou l'extension du cluster.
-
Stop : En cas d'échec du script, le système arrête immédiatement l'exécution du script actuel et échoue la création ou l'extension du cluster.
-
-
Cliquez sur OK.
Pour des exemples d'actions de bootstrap, consultez Exemples.
Vous pouvez effectuer les opérations suivantes sur les actions de bootstrap existantes :
Modifier une action de bootstrap : Cliquez sur Edit dans la ligne de l'action de bootstrap cible.
Cloner une action de bootstrap : Cliquez sur Clone dans la ligne de l'action de bootstrap cible.
Supprimer une action de bootstrap : Cliquez sur Delete dans la ligne de l'action de bootstrap cible.
Journaux d'exécution de script
Nous vous recommandons d'ajouter une logique de journalisation aux emplacements clés de votre script. Cela facilite le dépannage des problèmes d'exécution grâce à la consultation des journaux.
Vous pouvez afficher les journaux d'exécution des scripts d'action de bootstrap dans l'historique des opérations. Procédez comme suit :
-
Accédez à la page Cluster Services.
Connectez-vous à la console EMR.
Dans le volet de navigation de gauche, cliquez sur EMR on ECS.
Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources.
Sur la page EMR on ECS, cliquez sur Services pour le cluster cible.
Cliquez sur l'onglet Script operation, puis cliquez sur View Execution Result à droite du script à vérifier.
-
Dans le panneau Operation History, recherchez l'enregistrement d'opération correspondant et affichez ses détails.
Pour les clusters DataLake, Dataflow, OLAP, DataServing et personnalisés : Dans l'enregistrement d'opération de création (create) ou d'extension (increaseNodeGroup) d'un cluster, cliquez sur
pour afficher les détails de la tâche. Les tâches exécutant des actions de bootstrap sont préfixées par RUN_BOOTSTRAP_CLUSTER_SCRIPT_<bootstrap action name>_<bootstrap action ID>. Vous pouvez afficher les journaux Stdout et Stderr.Pour les clusters Hadoop, Data Science et EMR Studio : Dans l'enregistrement d'opération de création (CREATE_CLUSTER) ou d'extension (RESIZE_CLUSTER) d'un cluster, cliquez sur
pour afficher les détails de la tâche. Sous pollDeployTaskStatusActivity, les tâches exécutant des actions de bootstrap sont préfixées par RUN_SCRIPT_HOST_**. Vous pouvez afficher les journaux Stdout et Stderr.
Exemples
Lors de la configuration d'une action de bootstrap, vous devez spécifier son nom et l'emplacement de son script dans OSS. Vous pouvez également indiquer des arguments de script si nécessaire. Lors de l'exécution d'une action de bootstrap, chaque nœud télécharge le script OSS spécifié et l'exécute directement ou avec les arguments facultatifs indiqués. Les sections suivantes fournissent des exemples :
-
Exemple 1
Vous pouvez spécifier les fichiers à télécharger depuis OSS dans le script. Par exemple, le script suivant télécharge le fichier oss://<yourBucket>/<myFile>.tar.gz et le décompresse dans le répertoire /<yourDir>.
ImportantOSS propose des endpoints internes, publics et VPC. Si vous utilisez un réseau classique, vous devez spécifier un endpoint interne. Par exemple, l'endpoint interne pour la région Chine (Hangzhou) est oss-cn-hangzhou-internal.aliyuncs.com. Si vous utilisez un VPC, vous devez spécifier un nom de domaine accessible via VPC. Par exemple, l'endpoint VPC pour la région Chine (Hangzhou) est vpc100-oss-cn-hangzhou.aliyuncs.com.
-
Clusters DataLake, Dataflow, OLAP, DataServing et personnalisés
#!/bin/bash ossutil64 cp oss://<yourBucket>/<myFile>.tar.gz ./ -e oss-cn-hangzhou-internal.aliyuncs.com -i <yourAccessKeyId> -k <yourAccessKeySecret> mkdir -p /<yourDir> tar -zxvf <myFile>.tar.gz -C /<yourDir> -
Clusters Legacy DataLake (Hadoop)
#!/bin/bash osscmd --id=<yourAccessKeyId> --key=<yourAccessKeySecret> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourBucket>/<myFile>.tar.gz ./ mkdir -p /<yourDir> tar -zxvf <myFile>.tar.gz -C /<yourDir>
-
-
Exemple 2
Vous pouvez utiliser Yum pour installer des packages supplémentaires, tels que ld-linux.so.2.
#!/bin/bash yum install -y ld-linux.so.2