Tous les produits
Search
Centre de documentation

E-MapReduce:Exécuter des scripts à l'aide d'actions de bootstrap

Dernière mise à jour :Aug 20, 2026

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 - hadoop dans 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

  1. Accédez à la page de gestion des clusters.

    1. Connectez-vous à la console E-MapReduce.

    2. Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources.

  2. Sur la page EMR on ECS, cliquez sur CREATE_CLUSTER.

  3. Dans la section Advanced Settings de l'étape Basic Configuration, cliquez sur Add Bootstrap Action dans la ligne Bootstrap Actions.

  4. 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.

      La figure suivante illustre l'ordre d'exécution.

    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.

    Remarque

    Si 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

  1. Accédez à la page Script operation.

    1. Connectez-vous à la console E-MapReduce.

    2. Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources.

    3. Cliquez sur Services pour le cluster cible.

    4. Cliquez sur l'onglet Script Operation.

  2. Sur la page Bootstrap Actions, cliquez sur Add Bootstrap Action.

  3. Dans la boîte de dialogue Add Bootstrap Action, configurez les paramètres.

    image

    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.

      La figure suivante illustre l'ordre d'exécution.

    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.

  4. 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

Remarque

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 :

  1. Accédez à la page Cluster Services.

    1. Connectez-vous à la console EMR.

    2. Dans le volet de navigation de gauche, cliquez sur EMR on ECS.

    3. Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources.

    4. Sur la page EMR on ECS, cliquez sur Services pour le cluster cible.

  2. Cliquez sur l'onglet Script operation, puis cliquez sur View Execution Result à droite du script à vérifier.

  3. 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>.

    Important

    OSS 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

FAQ

  • Un script de bootstrap EMR est interrompu, mais aucun message d'erreur n'apparaît dans les journaux.

    Les causes les plus courantes d'échec des scripts incluent :

    • Problèmes de connectivité réseau. Les instances ECS et le bucket OSS correspondant doivent se trouver dans la même région. Par exemple, une instance ECS dans la région Chine (Pékin) ne peut pas se connecter à un bucket OSS situé en dehors de la région Chine (Pékin).

    • Échec lors de l'obtention des informations de clé d'accès. Ce problème survient généralement parce que le rôle AliyunECSInstanceForEMRRole n'est pas attaché à l'instance ECS.

    • Le script utilise nohup sans rediriger la sortie. Cela peut entraîner une durée de sortie de tâche très longue. La syntaxe correcte est nohup ... >*** 2>&1.

    • Le script a été modifié dans un environnement Windows et contient des fins de ligne Windows, ce qui provoque des erreurs lors de l'exécution dans un environnement Linux. Dans le journal des erreurs de l'historique des opérations, vérifiez la présence de ^M. Si c'est le cas, modifiez à nouveau le script dans un environnement Linux et téléchargez-le sur OSS.

  • Un script de bootstrap EMR ne trouve pas de commandes telles que YARN et HDFS.

    Par défaut, EMR ne charge pas les informations de profil lors de l'exécution d'un script de cluster. Si vous souhaitez utiliser des commandes telles que YARN et HDFS, ajoutez . /etc/profile au début du script pour charger le profil.

    Important

    Dans la commande . /etc/profile, un espace est requis entre . et /etc/profile.