Accéder au contenu principal Passer au contenu complémentaire

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

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 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 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://app.eu.cloud.talend.com/tmc/processing/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 ou l'interface Web de Talend Management Console pour délier le moteur distant à mettre à niveau de l'entité logique du moteur désigné dans Talend Management Console.

    Exemple

    • Endpoint d'API :
      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 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.

    • Page Web de Talend Management Console : suivez cette procédure pour trouver la section Reset the connection (Réinitialiser la connexion) dans le panneau Engine details (Détails du moteur) du moteur à délier et, dans cette section, cliquez sur Reset the key (Réinitialiser la clé) pour délier le moteur et obtenir une nouvelle clé d'appairage.
  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 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 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 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 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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.