Le nœud SSH de DataWorks vous permet de spécifier une source de données SSH pour accéder à distance à un hôte et y exécuter des scripts. Par exemple, utilisez un nœud SSH pour accéder à distance à une instance Elastic Compute Service (ECS) depuis DataWorks et y exécuter des scripts en tant que tâche récurrente. Cette rubrique explique comment développer des tâches à l'aide d'un nœud SSH.
Remarques
Si la tâche du nœud SSH se termine de manière inattendue (par exemple, en raison d'un délai d'expiration) lors du démarrage d'un processus sur un hôte distant, le processus sur l'hôte distant n'est pas affecté. DataWorks n'envoie aucune commande pour arrêter le processus.
Les nœuds SSH prennent en charge la syntaxe Shell standard, mais pas la syntaxe interactive.
L'exécution distante d'un script sur une instance ECS via un nœud SSH crée des fichiers temporaires sur l'instance. Vérifiez que l'instance ECS dispose d'un espace disque suffisant et que la limite maximale du nombre de fichiers répond à vos besoins.
Évitez que plusieurs tâches n'accèdent simultanément au même fichier, sous peine d'échec du nœud SSH.
Prérequis
-
Vous avez créé un flux métier.
Data Studio effectue les opérations de développement spécifiques au moteur en fonction des flux métier. Créez un flux métier avant de créer un nœud. Pour plus d'informations, consultez Créer un flux métier.
-
Vous avez créé une source de données SSH.
Pour développer et planifier des tâches récurrentes avec un nœud SSH, créez une source de données SSH afin d'accéder à votre serveur SSH. Pour créer une source de données, consultez Source de données SSH.
RemarqueLes nœuds SSH prennent uniquement en charge les sources de données SSH créées avec une chaîne de connexion JDBC. Pour éviter les échecs de tâche, assurez-vous que la source de données peut communiquer avec le groupe de ressources.
(Facultatif ; requis pour les utilisateurs Resource Access Management (RAM)) L'utilisateur RAM utilisé pour le développement des tâches a été ajouté à l'espace de travail cible et s'est vu attribuer le rôle Development ou Workspace Administrator (qui accorde de larges autorisations — à attribuer avec prudence). Pour plus d'informations sur l'ajout de membres et l'attribution d'autorisations, consultez Ajouter des membres à un espace de travail.
Limites
Vous pouvez exécuter des tâches SSH sur des groupes de ressources Serverless. Pour plus d'informations sur l'achat et l'utilisation des groupes de ressources Serverless, consultez Utiliser des groupes de ressources Serverless.
Régions prises en charge : Chine (Hangzhou), Chine (Shanghai), Chine (Beijing), Chine (Shenzhen), Chine (Hong Kong), Japon (Tokyo), Singapour, Malaisie (Kuala Lumpur), Indonésie (Jakarta), Allemagne (Francfort), Royaume-Uni (Londres), États-Unis (Silicon Valley) et États-Unis (Virginie).
La longueur maximale du code d'un nœud SSH est de
128 KB.
Étape 1 : Créer un nœud SSH
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Development.
Cliquez avec le bouton droit sur le workflow cible et choisissez .
Dans la boîte de dialogue Create Node, saisissez un Name pour le nœud et cliquez sur OK. Une fois le nœud créé, développez et configurez la tâche.
Étape 2 : Développer une tâche SSH
(Facultatif) Sélectionner une source de données SSH
Si votre espace de travail comporte plusieurs sources de données SSH, sélectionnez celle appropriée dans l'éditeur de nœud SSH. Si une seule source de données SSH existe, elle est sélectionnée par défaut.
Les nœuds SSH prennent uniquement en charge les sources de données SSH créées avec une chaîne de connexion JDBC. Pour éviter les échecs de tâche, assurez-vous que la source de données peut communiquer avec le groupe de ressources.
Exemple simple
Saisissez votre code dans l'éditeur de code du nœud SSH. Voici un exemple.
# 1. Prepare the environment.
# On the remote host, find the file that you want to run. For example, a file named nihao.sh exists in the /tmp directory of the remote host.
# For testing purposes, you can run the following command in the SSH node to create the nihao.sh file.
echo "echo nihao,dataworks" >/tmp/nihao.sh
# 2. Use the SSH node to run the file on the remote host.
# Use the DataWorks SSH node to run the /tmp/nihao.sh file.
sh /tmp/nihao.sh
Utiliser des paramètres de planification
DataWorks fournit l'option Scheduling Parameter pour transmettre des valeurs dynamiques aux tâches récurrentes. Définissez des variables dans votre code au format ${nom_variable}, puis attribuez-leur des valeurs dans la section Scheduling configuration > Scheduling Parameter du volet de droite. Pour plus d'informations sur les formats pris en charge et les détails de configuration, consultez Formats pris en charge des paramètres de planification et Configurer et utiliser les paramètres de planification.
L'exemple suivant montre comment utiliser les paramètres de planification dans un nœud SSH.
# Goal: Write the SSH node execution time to the /tmp/sshnode.log file every day.
# Implementation: Use the ${myDate} variable and assign it the value $[yyyy-mm-dd hh24:mi:ss]. This writes the execution time of the SSH node to the file.
echo ${myDate} >/tmp/sshnode.log
cat /tmp/sshnode.log
Étape 3 : Configurer la planification des tâches
Pour exécuter périodiquement la tâche du nœud, cliquez sur Scheduling à droite de la page d'édition du nœud et configurez les paramètres de planification selon vos besoins. Pour plus d'informations, consultez Vue d'ensemble des propriétés de planification des tâches.
Configurez l'Rerun attribute et les Parent Nodes du nœud avant de le soumettre.
Étape 4 : Tester le code de la tâche
Effectuez les opérations de test suivantes selon vos besoins pour vérifier le comportement attendu de la tâche.
-
(Facultatif) Sélectionnez un groupe de ressources et attribuez des valeurs de paramètre personnalisées.
Cliquez sur l'icône
dans la barre d'outils. Dans la boîte de dialogue Parameter, sélectionnez le groupe de ressources de planification pour les tests.Si le code de votre tâche utilise des variables de paramètre de planification, attribuez-leur des valeurs ici pour les tests. Pour plus d'informations sur la logique d'attribution des paramètres, consultez Processus de débogage des tâches.
-
Enregistrez et exécutez le code de la tâche.
Cliquez sur l'icône
dans la barre d'outils pour enregistrer le code de votre tâche. Cliquez ensuite sur l'icône
pour exécuter la tâche. -
(Facultatif) Effectuez des tests de fumée.
Pour effectuer des tests de fumée dans l'environnement de développement et vérifier que la tâche de nœud planifiée s'exécute comme prévu, lancez ces tests pendant ou après la soumission du nœud. Pour plus d'informations, consultez Effectuer des tests de fumée.
Étape 5 : Soumettre et publier la tâche
Après avoir configuré la tâche du nœud, soumettez-la et publiez-la. Une fois publiée, le nœud s'exécute périodiquement selon sa configuration de planification.
Cliquez sur l'icône
dans la barre d'outils pour enregistrer le nœud.-
Cliquez sur l'icône
dans la barre d'outils pour soumettre la tâche du nœud.Dans la boîte de dialogue Submission, saisissez une Change Description. Indiquez si une révision du code est requise après la soumission.
RemarqueConfigurez l'Rerun attribute et les Parent Nodes du nœud avant de le soumettre.
La révision du code garantit la qualité du code et évite les erreurs liées à la publication directe de code non révisé en production. Si la révision du code est activée, les réviseurs doivent approuver le code du nœud soumis avant sa publication. Pour plus d'informations, consultez Révision du code.
Si vous utilisez un espace de travail en mode standard, cliquez sur Publish dans le coin supérieur droit de la page d'édition du nœud pour déployer la tâche dans l'environnement de production après sa soumission réussie. Pour plus d'informations, consultez Publier une tâche.
Étapes suivantes
Opérations sur les tâches : Après validation et publication, la tâche s'exécute périodiquement selon la configuration du nœud. Cliquez sur O&M dans le coin supérieur droit de la page d'édition du nœud pour accéder au Operation Center et afficher l'état de planification et d'exécution de la tâche planifiée. Pour plus d'informations, consultez Gérer les tâches planifiées.
Documentation connexe
Pour en savoir plus sur la mise en œuvre de l'équilibrage de charge et de la haute disponibilité pour les nœuds SSH, consultez Mettre en œuvre l'équilibrage de charge et la haute disponibilité pour les nœuds SSH.