メイン コンテンツをスキップする 補完的コンテンツへスキップ

Talendの全サービスでJavaをアップグレード

Javaをアップグレードすれば、セキュリティ問題を回避できます。この操作には、TalendサービスでJavaのマイナーまたはメジャーアップデートが必要となるさまざまなステップがあります。また、マイナーダウングレードの場合もこの手順が必要です。

始める前に

  • update_java.zipファイルをダウンロードして抽出します。オペレーティングシステムに応じて、.batファイルか.shファイルを使用します。
  • Windowsでは、Talendホームフォルダーのutilsフォルダーにそのようなファイルがない場合のみ、sed.zipアーカイブをダウンロードします。

このタスクについて

Talendの全サービスをアップデートする手順では、Talend Remote Engineが除外されます。これは、このサービスが異なる手順を必要とするためです。詳細は、Talend Remote EngineのJavaをアップグレードをご覧ください。
情報メモ制約事項: Talend LogServer (非推奨)、Talend MDM、およびNexusはJava 17をサポートしていません。NexusはJava 11をサポートしていません。

LinuxのTalendの全サービスでJavaをアップグレード

Procedure

  1. 互換性があるJava環境ページの説明に従って、新しいJavaバージョンをインストールします。
  2. systemctl | grep talendコマンドを使い、実行中のTalendサービスをすべて検索します。
  3. systemctl stop <service name>コマンドを使い、Talend サービスをすべて停止します。
  4. テキストエディターでupdate_java.shを開きます。
  5. スクリプト内の変数を検索し、以下のように設定します。

    TALEND_HOME=<Talend_home_folder> (例: TALEND_HOME=/opt/Talend-8.0.1)

    PROD_VER=<Talend_version> (例: PROD_VER=8.0.1)

    JAVA_HOME=<Java_home_folder> (例: JAVA_HOME=/usr/lib/jvm/jre1.8.0_221)
  6. スーパーユーザーとしてupdate_java.shを実行します。このスクリプトによって、ハードコードされたJavaへのパスがインストールの新しい値に置き換えられます。
  7. コンピューターを再起動するか、systemctl start <service name>コマンドを使って、Talendの全サービスを手動で起動します。

Results

これで、Talend Remote Engineを除くTalendの全サービスが新しいJavaバージョンを使用するようになります。

WindowsのTalendの全サービスでJavaをアップグレード

Procedure

  1. update_java.batファイルをTalendホームフォルダー内のutilsフォルダーに配置します。
  2. sed.zipをダウンロードした場合は、このファイルをutilsフォルダーに配置します。
  3. 互換性があるJava環境ページの説明に従って、新しいJavaバージョンをインストールします。
  4. Windowsの検索タブでservices.mscと入力し、Microsoft Management Consoleアプリケーションを開きます。
  5. Talendサービスのリストを検索し、各サービスを右クリックして[Stop] (停止)を選択します。
    最後に停止するサービスは、Talend Administration CenterTalend Identity and Access Management、Kafka、ZooKeeper、MongoDBの順になります。
  6. [System Properties] (システムプロパティ) > [Advanced] (詳細設定) > [Environments Variables] (環境変数)に移動します。
  7. JAVA_HOME環境変数とPATH変数を更新します。
    1. [System Variables](システム変数)で、[New...] (新規...)をクリックして変数を作成します。変数JAVA_HOMEに名前を付け、Java環境のパスを入力して、[OK]をクリックします。
    1. [System Variables](システム変数)で、[Path](パス)変数を選択し、[Edit...] (編集...)をクリックして、;%JAVA_HOME%\binという変数をパス変数値の最後に追加します。
  8. コマンドプロンプトアプリケーションを開きます。
  9. echo %JAVA_HOME%と入力してEnterキーを押します。表示される値は新しい設定値です。
  10. テキストエディターでupdate_java.batを開きます。
  11. スクリプト内の変数を検索し、以下のように設定します。

    "TALEND_HOME=C:\<Talend_home_folder>" (例: set "TALEND_HOME=C:\Talend\8.0.1")

    "PROD_VER=<Talend_version>" (例: set "PROD_VER=8.0.1")

  12. この設定をまだ行っていない場合は、setenv.batファイルに--add-opens=java.base/java.lang=ALL-UNNAMEDを追加します。
    続いて、管理者として次のコマンドを実行し、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. スーパーユーザーとしてupdate_java.batを実行します。このスクリプトによって、ハードコードされたJavaへのパスがインストールの新しい値に置き換えられます。
  14. コンピューターを再起動するか、service.mscアプリケーションからTalendの全サービスを手動で起動します。

Results

これで、Talend Remote Engineを除くTalendの全サービスが新しいJavaバージョンを使用するようになります。

Talend Remote EngineのJavaをアップグレード

Remote Engineがインストール済みである場合の、Javaのバージョンを8から11にアップグレードする方法について説明します。

Procedure

  1. Java 8で実行するTalend Remote Engineで、次のファイルを<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(観測可能な機能が有効にならない場合のみ)。
    インストールが完了するまで、1分ほど待ちます。
  2. Talend Remote Engineとそのサービスが動作している場合は、それを停止します(Remote Engineサービスを管理をご覧ください)。
  3. Java 11をインストールします。
  4. システムサービスファイル(/opt/Talend Remote Engine/etc/talend-remote-engine-wrapper.conf)をアップデートします。
    1. ファイルを編集して、次の行を検索します: set.default.JAVA_HOME=/usr/lib/jvm/jre1.8.0_221
      新しいJAVA_HOMEのパスでそれをアップデートします。たとえば: set.default.JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    2. Talend Remote Engine Karafコンテナーのバージョンを表す新しい変数を追加します。値は、REバージョン2.11.2〜2.11.11では4.2.12で、2.12.0以降のREバージョンでは4.2.15です。
      たとえば: set.default.KARAF_VERSION=4.2.15
    3. "set.JAVA_TOOL_OPTIONS=-Dlog4j2.formatMsgNoLookups=true"の後に、追加のJavaオプション設定を入力します。
      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. Karaf Javaクラスパス:
      wrapper.java.classpath.1=%KARAF_BASE%/lib/boot/*.jar
      wrapper.java.classpath.2=%KARAF_BASE%/lib/wrapper/*.jar
      を次のように置き換えることでアップデートします。
      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. JVMパラメーター:
      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
      を次のように置き換えることでアップデートします。
      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: Talend Remote Engineのインストール後に作成された元の行が置き換えられます。JVMパラメーターを追加した場合は、12から始まる番号で、隙間を空けずに上記のリストの後に配置する必要があります。
  5. /opt/Talend Remote Engine/bin/talend-remote-engine-serviceファイルを編集して、次の行を検索します: JAVA_HOME="/usr/lib/jvm/jre1.8.0_221":
    新しいJAVA_HOMEのパスでそれをアップデートします。たとえば: JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64".
  6. Remote Engineサービスを起動します(Remote Engineサービスを管理をご覧ください)。
  7. Talend Management Consoleを起動し、ログでTalend Remote Engineの可用性とステータスを確認します。
  8. Talend Remote Engineを開始します。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。