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

Mettre à niveau Java pour tous les services Talend

Vous pouvez mettre à niveau Java pour éviter les problèmes de sécurité. Cette procédure vous guide à travers les différentes étapes requises pour les mises à jour mineures et majeures de Java sur les services Talend. Cette procédure peut également être suivie pour les mises à niveau antérieures mineures.

Avant de commencer

  • Téléchargez et extrayez le fichier update_java.zip. Utilisez le fichier .bat ou .sh, en fonction de votre système d'exploitation.
  • Sous Windows, téléchargez le fichier archive sed.zip uniquement s'il n'est pas dans le dossier utils du dossier principal Talend.

Pourquoi et quand exécuter cette tâche

Les procédures de mise à jour de tous les services Talend ne concernent pas Talend Remote Engine, car ce service requiert des étapes différentes. Pour plus d'informations, consultez Mise à niveau de Java pour Talend Remote Engine.
Note InformationsRestriction : Talend LogServer (déprécié), Talend MDMet Nexus ne supportent pas Java 17. Nexus ne supporte pas Java 11.

Mettre à niveau Java pour tous les services Talend sous Linux

Procedure

  1. Installez la nouvelle version de Java selon la page Environnements Java compatibles.
  2. Trouvez tous les services Talend en cours d'éxecution avec la commande systemctl | grep talend.
  3. Arrêtez tous les services Talend avec la commande systemctl stop <service name>.
  4. Ouvrez update_java.sh avec un éditeur de texte.
  5. Repérez les variables dans le script et définissez-les comme suit :

    TALEND_HOME=<Talend_home_folder> (par exemple : TALEND_HOME=/opt/Talend-8.0.1

    "PROD_VER=<Talend_version>" (par exemple : définissez "PROD_VER=8.0.1")

    JAVA_HOME=<Java_home_folder> (par exemple : JAVA_HOME=/usr/lib/jvm/jre1.8.0_221)
  6. En tant que super-utilisateur, exécutez update_java.sh. Ce script remplacera le chemin d'accès à Java codé en dur par de nouvelles valeurs dans votre installation.
  7. Redémarrez votre ordinateur ou démarrez manuellement tous les services Talend avec la commande systemctl start <service name>.

Results

Tous les services Talend, sauf Talend Remote Engine, utilisent à présent la nouvelle version de Java.

Mettre à niveau Java pour tous les services Talend sous Windows

Procedure

  1. Placez le fichier update_java.bat dans le dossier utils du dossier source Talend.
  2. Si vous avez téléchargé le fichier sed.zip, placez-le dans le dossier utils.
  3. Installez la nouvelle version de Java selon la page Environnements Java compatibles.
  4. Dans la barre de recherche Windows, saisissez services.msc et ouvrez l'application Microsoft Management Console.
  5. Cherchez la liste des services Talend, cliquez-droit sur chacun d'entre eux et sélectionnez Stop.
    Les derniers services à être arrêtés devraient être Talend Administration Center, Talend Identity and Access Management puis Kafka, ZooKeeper et MongoDB.
  6. Allez dans Propriétés du sytème > Avancées > Variables d'environnement.
  7. Mettez à jour la variable d'environnement JAVA_HOME et la variable PATH :
    1. Sous Variables système, cliquez sur Nouvelle... afin de créer une variable. Nommez la variable JAVA_HOME, saisissez le chemin vers votre environnement Java et cliquez sur OK.
    1. Sous Variables système, sélectionnez la variable Path, cliquez sur Modifier... et ajoutez la variable suivante à la fin de la valeur de la variable Path : ;%JAVA_HOME%\bin.
  8. Ouvrez une invite de commande.
  9. Saisissez echo %JAVA_HOME% et appuyez sur Entrée. La valeur affichée est la nouvelle valeur définie.
  10. Ouvrez update_java.bat avec un éditeur de texte.
  11. Repérez les variables dans le script et définissez-les comme suit :

    "TALEND_HOME=C:\<Talend_home_folder>" (par exemple : définissez "TALEND_HOME=C:\Talend\8.0.1")

    "PROD_VER=<Talend_version>" (par exemple : définissez "PROD_VER=8.0.1")

  12. Ajoutez --add-opens=java.base/java.lang=ALL-UNNAMED dans le fichier setenv.bat, si vous n'avez pas encore cette configuration.
    Exécutez ensuite la commande suivante en tant qu'administrateur·trice pour démarrer le service Talend Administration Center :
    cd C:\Talend\8.0.1\tac\apache-tomcat\bin
    tomcat9.exe //US//talend-tac-8.0.1 ++JvmOptions="--add-opens=java.base/java.lang=ALL-UNNAMED
  13. En tant que super-utilisateur, exécutez update_java.bat. Ce script remplacera le chemin d'accès à Java codé en dur par de nouvelles valeurs dans votre installation.
  14. Redémarrez votre ordinateur ou démarrez manuellement tous les services Talend depuis l'application service.msc.

Results

Tous les services Talend, sauf Talend Remote Engine, utilisent à présent la nouvelle version de Java.

Mise à niveau de Java pour Talend Remote Engine

Cette section décrit la mise à niveau de Java, de la version 8 à 11, lorsqu'un moteur distant est déjà installé.

Procedure

  1. Avec Talend Remote Engine s'exécutant sur Java 8, copiez-collez les fichiers suivants dans le répertoire <RE>/deploy :
    • <RE>/system/org/apache/servicemix/specs/org.apache.servicemix.specs.jaxws-api-2.3/2.3_2/org.apache.servicemix.specs.jaxws-api-2.3-2.3_2.jar.
    • <RE>/system/org/apache/servicemix/specs/org.apache.servicemix.specs.saaj-api-1.4/1.4_1/org.apache.servicemix.specs.saaj-api-1.4-1.4_1.jar (seulement dans le cas où la fonctionnalité d'observabilité n'est pas activée).
    Patientez une minute, le temps que l'installation se termine.
  2. Arrêtez votre Talend Remote Engine et son service s'ils sont en cours d'exécution (consultez Gérer le service du moteur distant).
  3. Installez la version 11 de Java.
  4. Mettez à jour le fichier de service système (/opt/Talend Remote Engine/etc/talend-remote-engine-wrapper.conf) :
    1. Modifiez le fichier et localisez la ligne suivante : set.default.JAVA_HOME=/usr/lib/jvm/jre1.8.0_221.
      Mettez-la à jour avec le nouveau chemin JAVA_HOME. Par exemple : set.default.JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64".
    2. Ajoutez une variable poour décrire la version du conteneur Karaf de Talend Remote Engine. La valeur doit être 4.2.12 pour les versions 2.11.2 à 2.11.11 du moteur distant et 4.2.15 pour les versions à partir de 2.12.0 du moteur distant.
      Par exemple : set.default.KARAF_VERSION=4.2.15.
    3. Ajoutez des options de configuration Java supplémentaires après "set.JAVA_TOOL_OPTIONS=-Dlog4j2.formatMsgNoLookups=true" :
      set.JDK_JAVA_OPTIONS=--add-reads=java.xml=java.logging --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED --patch-
      
      module java.base=%KARAF_HOME%/lib/endorsed/org.apache.karaf.specs.locator-%KARAF_VERSION%.jar --patch-module 
      java.xml=%KARAF_HOME%/lib/endorsed/org.apache.karaf.specs.java.xml-%KARAF_VERSION%.jar --add-
      opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens 
      java.naming/javax.naming.spi=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED --add-
      exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED --add-
      exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-
      exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-exports=java.base/sun.net.www.content.text=ALL-UNNAMED --add-
      
      exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
    4. Mettez à jour le classpath Java Karaf en remplaçant
      wrapper.java.classpath.1=%KARAF_BASE%/lib/boot/*.jar
      wrapper.java.classpath.2=%KARAF_BASE%/lib/wrapper/*.jar
      par :
      wrapper.java.classpath.1=%KARAF_BASE%/lib/boot/*.jar
      wrapper.java.classpath.2=%KARAF_BASE%/lib/jdk9plus/*.jar
      wrapper.java.classpath.3=%KARAF_BASE%/lib/wrapper/*.ja
    5. Mettez à jour les paramètres de la JVM en remplaçant
      wrapper.java.additional.1=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
      wrapper.java.additional.2=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
      wrapper.java.additional.3=-Dkaraf.instances=%KARAF_HOME%/instances
      wrapper.java.additional.4=-Dkaraf.home=%KARAF_HOME%
      wrapper.java.additional.5=-Dkaraf.base=%KARAF_BASE%
      wrapper.java.additional.6=-Dkaraf.data=%KARAF_DATA%
      wrapper.java.additional.7=-Dkaraf.etc=%KARAF_ETC%
      wrapper.java.additional.8=-Dkaraf.log=%KARAF_LOG%
      wrapper.java.additional.9=-Dkaraf.restart.jvm.supported=true
      wrapper.java.additional.10=-Djava.io.tmpdir=%KARAF_DATA%/tmp
      wrapper.java.additional.11=-Djava.util.logging.config.file=%KARAF_ETC%/java.util.logging.properties
      wrapper.java.additional.12=-Dkaraf.startLocalConsole=false
      wrapper.java.additional.13=-Dkaraf.startRemoteShell=true
      par :
      wrapper.java.additional.1=-Dkaraf.instances=%KARAF_HOME%/instances
      wrapper.java.additional.2=-Dkaraf.home=%KARAF_HOME%
      wrapper.java.additional.3=-Dkaraf.base=%KARAF_BASE%
      wrapper.java.additional.4=-Dkaraf.data=%KARAF_DATA%
      wrapper.java.additional.5=-Dkaraf.etc=%KARAF_ETC%
      wrapper.java.additional.6=-Dkaraf.log=%KARAF_LOG%
      wrapper.java.additional.7=-Dkaraf.restart.jvm.supported=true
      wrapper.java.additional.8=-Djava.io.tmpdir=%KARAF_DATA%/tmp
      wrapper.java.additional.9=-Djava.util.logging.config.file=%KARAF_ETC%/java.util.logging.properties
      wrapper.java.additional.10=-Dkaraf.startLocalConsole=false
      wrapper.java.additional.11=-Dkaraf.startRemoteShell=true
      Note InformationsNote: Les lignes à remplacer sont les lignes originales créées après l'installation de Talend Remote Engine. Si vous avez ajouté des paramètres JVM supplémentaires, ils doivent être placés après la liste ci-dessus, avec une numérotation commençant par 12, sans laisser de trou.
  5. Modifiez le fichier /opt/Talend Remote Engine/bin/talend-remote-engine-service et localisez la ligne suivante : JAVA_HOME="/usr/lib/jvm/jre1.8.0_221" :
    Mettez-la à jour avec le nouveau chemin JAVA_HOME. Par exemple : JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64".
  6. Démarrez le service du moteur distant (consultez Gérer le service du moteur distant).
  7. Ouvrez Talend Management Console et vérifiez la disponibilité de Talend Remote Engine, ainsi que son statut dans les logs.
  8. Démarrez votre Talend Remote Engine.

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.