Mettre à niveau Talend Remote Engine à partir de la v2.11.8 pour les tâches de Jobs de services de données ou de Routes - Cloud

Guide d'installation et de migration de Talend Cloud

Version
Cloud
Language
Français
Operating system
Windows
Product
Talend Cloud
Module
Studio Talend
Talend Artifact Repository
Talend Data Stewardship
Talend Management Console
Talend Remote Engine
Talend SAP RFC Server
Content
Installation et mise à niveau
Last publication date
2023-11-27

Mettez à niveau votre moteur distant (Remote Engine) sans devoir déployer ou annuler le déploiement de vos tâches de Jobs de services de données ou de Routes s'exécutant actuellement sur le moteur.

Les tâches de microservices sont automatiquement mises en pause à l'arrêt du premier moteur distant et reprises lors du redémarrage du moteur distant avec sa nouvelle version.

Avant de commencer

  • Le moteur distant doit être mis à niveau au moins en version 2.11.8. Si vous utilisez une version 2.11.7 ou antérieure, effectuez une mise à niveau en dernière version avant de commencer cette procédure, comme présenté dans Mettre Talend Remote Engine à niveau.
  • Générez un jeton de compte de service afin d'utiliser un compte de service pour effectuer cette opération. Pour plus d'informations concernant la génération de ce jeton, consultez Generating service account token (en anglais).

    L'utilisation d'un compte de service est une pratique de sécurité largement acceptée à des fins d'automatisation dans un environnement de production. Même si l'utilisation d'un jeton d'accès personnel est techniquement possible, il est recommandé d'utiliser un compte de service pour une meilleure sécurité.

    Pour plus d'informations concernant la génération d'un jeton d'accès personnel, consultez Générer un jeton d'accès personnel.

  • Rassemblez les ID des moteurs à mettre à niveau, soit via l'endpoint d'API associé, soit via la page Web de Talend Cloud Management Console :
    • Endpoint d'API : Get available Remote Engines (en anglais). Dans la réponse, les ID des moteurs se trouvent dans le champ id. Copiez les ID des moteurs à mettre à niveau et conservez-les dans l'emplacement de votre choix pour un usage ultérieur.
    • Page Web de Talend Cloud Management Console : l'ID du moteur distant se trouve dans l'onglet Overview (Vue d'ensemble) du panneau Engine details (Détails du moteur).
      Boîte de dialogue des détails du moteur
      Si le moteur en question se trouve dans un cluster, cette URL se présente comme suit :
      https://tmc.eu.cloud.talend.com/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info
      Dans ce cas, l'ID est 646c790a2373b74412c26047.

Procédure

  1. Utilisez l'endpoint spécifique à l'API pour délier le moteur distant à mettre à niveau de l'élément de moteur désigné dans Talend Cloud Management Console en exécutant la commande suivante :
    N'utilisez pas l'interface Web de Talend Cloud Management Consolepour délier le moteur. Utilisez exclusivement l'endpoint suivant.

    Exemple

    curl -X DELETE "$RE_APFIRST_ENDPOINT/processing/runtimes/remote-engines/$RE_ENGINE_ID/pairing?keepOsgiDeployments=true&keepMicroserviceDeployments=true" -H "Authorization: Bearer $RE_TOKEN"
    Dans cette commande :
    • $RE_APFIRST_ENDPOINT représente l'URL de Talend Cloud Management Console, par exemple, https://api.us.cloud.talend.com/.

      Pour l'URL de l'endpoint d'API de votre région, consultez Endpoint regions (en anglais).

    • $RE_ENGINE_ID représente l'ID du moteur à délier.
    • $RE_TOKEN est le jeton du compte de service, qui est recommandé, ou le jeton d'accès personnel du compte à utiliser.
    Vous pouvez remplacer ces variables par leurs valeurs réelles dans votre commande ou les définir dans l'environnement de vos requêtes d'API. Si vous utilisez Talend API Tester pour émettre votre endpoint d'API, consultez Créer un environnement pour en savoir plus concernant la définition de variables.

    Lorsque la commande est exécutée, une nouvelle clé pré-autorisée est automatiquement générée. Conservez cette clé à l'emplacement de votre choix, car vous en aurez besoin pour appairer le nouveau moteur distant dans les étapes suivantes.

  2. Attendez au moins deux minutes pour vous assurer que le moteur est bien délié.

    Exemple

    Le message suivant provenant des logs du moteur est un exemple indiquant que le désappairage a bien été effectué.
    Logs indiquant que l'état du moteur est retired (hors service) avec la ligne "re_state": "RETIRED".
  3. Sur la machine hébergeant le moteur délié, arrêtez le moteur à l'aide de la commande suivante :
    <RemoteEngine_installation>/bin/stop
    Si ce moteur a été installé en tant que service système, suivez la procédure de votre système d'exploitation pour arrêter le service.
  4. Installez et configurez la nouvelle version du moteur distant.
    • Si vous avez utilisé l'installeur pour installer ce moteur, n'utilisez pas encore la clé pré-autorisée lorsqu'il vous est demandé de fournir une clé. Fournissez une fausse clé autorisée à la place.
    • Si vous avez installé le moteur en tant que service système, arrêtez le service avant de passer aux étapes suivantes.
  5. Copiez les données de l'ancien moteur au nouveau moteur.
    Cette copie vous permet d'assurer l'exécution continue de vos tâches de Jobs de services de données ou de vos tâches de Routes. Ainsi, copiez chaque type de données dans son dossier désigné, comme attendu par le moteur distant.
    1. Copiez-collez le dossier dsrunner depuis Old_RemoteEngine_installation/data/ vers New_RemoteEngine_installation/data/.
      Ce dossier contient les informations relatives aux tâches.
    2. Copiez-collez le dossier cls depuis Old_RemoteEngine_installation/data/ vers New_RemoteEngine_installation/data/.
      Ce dossier contient les logs des tâches.
    3. Dans le nouveau moteur distant, mettez à jour le chemin d'accès vers le nouveau moteur à utiliser dans chaque fichier .metadata stocké dans les dossiers des tâches, dans New_RemoteEngine_installation/data/dsrunner/exec/osgi.

      Exemple

      Chemin d'accès au contenu du dossier OSGi.

      Par exemple, dans ce dossier New_RemoteEngine_installation/data/dsrunner/osgi/02141bff-bffe-4975-8835-7dd9ff77b62a, ouvrez le fichier .metadata et trouvez la ligne suivante, qui est le chemin d'accès au moteur à utiliser :
      "artifactFile":"Old_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      Remplacez ce chemin par celui du nouveau moteur distant :
      "artifactFile":"New_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      Si vous utilisez Windows, les chemins d'accès ressemblent à ceci :
      RemoteEngine_installation\\data\\dsrunner\\exec\\osgi\\02141bff-bffe-4975-8835-7dd9ff77b62a\\ro_20230209_SimpleTimerRoute_801_OSGi_0.1.2.20232505013343.kar
    4. Toujours dans le nouveau moteur distant, mettez à jour le chemin d'accès aux fichiers de log pour chaque exécution.
      Cette information se trouve dans chaque fichier <TASKID>-<EXECUTION_ID>-state.dat stocké dans New_RemoteEngine_installation/data/cls.

      Exemple

      Par exemple, ouvrez le fichier New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-state.dat et trouvez la ligne suivante, celle du chemin à mettre à jout :
      "currentFilePath":"Old_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      Remplacez ce chemin par celui du nouveau moteur distant :
      "currentFilePath":"New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      Sous Windows, ce chemin se présente comme ceci :
      "currentFilePath":"RemoteEngine_installation\\data\\cls\\647867abadf89464d65ab1f2-02141bff-bffe-4975-8835-7dd9ff77b62a-2023-06-01-11-001.json.log
  6. Appairez le nouveau moteur distant au même élément de moteur Talend Cloud Management Console précédemment délié de l'ancien moteur distant.
    1. Dans le fichier New_RemoteEngine_installation/etc/org.talend.ipaas.rt.pairing.client.cfg, spécifiez l'endpoint pour l'appairage de Talend Cloud Management Console dans la ligne suivante :
      pairing.service.url=https://pair.<your_datacenter>.cloud.talend.com

      Pour l'URL exacte de l'endpoint à utiliser, consultez l'entrée relative à l'appairage du moteur distant de votre région dans la page URL et régions.

      Si vous avez installé le nouveau moteur à l'aide de l'installeur, ignorez cette étape, car l'endpoint a été automatiquement spécifié.

    2. Dans le fichier New_RemoteEngine_installation/etc/preauthorized.key.cfg, remplacez la fausse clé pré-autorisée par la clé pré-autorisée réelle générée par l'appel de désappairage, au début de la procédure.
      Si vous avez perdu cette clé pré-autorisée, vous pouvez la retrouver dans le champ Remote Engine key (Clé du moteur distant) de l'élément du moteur à appairer dans Talend Cloud Management Console. Pour savoir comment trouver cette clé, consultez Créer les moteurs distants.
  7. Démarrez le nouveau moteur distant.
    Pour plus d'informations, consultez Démarrer Talend Remote Engine.

Résultats

Vérifiez le statut de la tâche dans Talend Cloud Management Console en vous assurant que les tâches de Jobs de services de données et les tâches de Routes sont bien en cours d'exécution. Les logs et les métriques doivent également être disponibles pour toutes ces tâches.