Une fois le cluster créé, utilisez l'exécution manuelle pour lancer un script sur les nœuds sélectionnés. Cette rubrique explique comment ajouter et exécuter ces scripts.
Informations générales
L'exécution manuelle permet de lancer immédiatement un script spécifié sur des nœuds sélectionnés au sein d'un cluster existant. Cette fonctionnalité est conçue pour les clusters à longue durée de vie. Pour les clusters temporaires à la demande, utilisez une action d'amorçage afin d'initialiser le cluster. Pour plus d'informations, consultez Exécuter des scripts à l'aide d'actions d'amorçage.
À l'instar d'une action d'amorçage, l'exécution manuelle vous permet d'installer des logiciels et des services qui ne sont pas encore pris en charge par le cluster. Par exemple, vous pouvez :
Installer des packages logiciels disponibles via YUM.
Télécharger des logiciels accessibles publiquement depuis Internet.
Lire vos données depuis OSS.
Installer et exécuter des services, tels que le composant Pig. Cela peut nécessiter des scripts plus complexes.
Prérequis
Vous avez créé un cluster. Pour plus d'informations, consultez Créer un cluster.
Le cluster doit être en état d'exécution.
Vous avez développé ou obtenu un script de cluster et vous l'avez téléchargé vers OSS. Pour un exemple, consultez Exemples.
Limites et considérations
Les journaux d'exécution manuelle sont conservés pendant 60 jours maximum.
Un seul script de cluster peut s'exécuter à la fois sur un cluster.
Un script de cluster peut réussir sur certains nœuds et échouer sur d'autres. Par exemple, un redémarrage de nœud peut provoquer l'échec du script. Une fois le problème résolu, relancez le script uniquement sur les nœuds ayant échoué. Après une mise à l'échelle horizontale (scale-out) du cluster, vous pouvez également exécuter le script de cluster uniquement sur les nouveaux nœuds ajoutés.
Procédure
-
Accédez à la page Opération de script.
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 Script Operation, cliquez sur l'onglet Manual Execution.
Cliquez sur Create and Execute.
-
Dans la boîte de dialogue, saisissez un Name, sélectionnez un script dans la liste déroulante Script Address et spécifiez l'Execution Scope.
RemarqueIl est recommandé de tester le script de cluster sur un seul nœud avant de l'exécuter sur l'ensemble du cluster.
Le chemin d'accès au script doit respecter le format
oss://**/*.sh.
-
Une fois les paramètres configurés, cliquez sur OK.
Après la création d'un script de cluster, celui-ci apparaît dans la liste des scripts et passe à l'état d'exécution. Les états possibles du script sont Running, Complete et Submit Failed.
Pour afficher les détails du script exécuté manuellement, cliquez sur Details dans la colonne Actions.
-
Pour vérifier l'état d'exécution du script, cliquez sur View Execution Result à côté du nom du script.
L'état du script sur chaque nœud peut être Waiting, Running, Complete, Failed, Submit Failed ou Cancel.
Pour supprimer le script exécuté manuellement, cliquez sur Delete dans la colonne Actions.
Exemples
Comme pour un script d'action d'amorçage, vous pouvez spécifier des fichiers à télécharger depuis OSS dans votre script de cluster. L'exemple suivant montre comment télécharger le fichier oss://<yourBucket>/<myFile>.tar.gz et le décompresser dans le répertoire /yourDir.
#!/bin/bash
osscmd --id=<yourAccessKeyId> --key=<yourAccessKeySecret> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourBucketName>/<yourFile>.tar.gz ./<yourFile>.tar.gz
mkdir -p /<yourDir>
tar -zxvf <yourFile>.tar.gz -C /<yourDir>
OSS propose des endpoints internes, publics et VPC. Si votre cluster se trouve dans 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 votre cluster se trouve dans un VPC, vous devez spécifier un endpoint accessible depuis le VPC, tel que vpc100-oss-cn-hangzhou.aliyuncs.com pour la région Chine (Hangzhou).
Vous pouvez également utiliser un script de cluster pour installer des packages système supplémentaires via YUM. Par exemple, vous pouvez installer ld-linux.so.2.
#!/bin/bash
yum install -y ld-linux.so.2
Par défaut, le cluster exécute votre script en tant qu'utilisateur root. Vous pouvez également utiliser la commande su hadoop pour basculer vers l'utilisateur hadoop dans votre script.