LinuxでJavaをアップグレード - 8.0

Version
8.0
Language
日本語 (日本)
EnrichDitaval
Data Fabric for Linux
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
インストールとアップグレード

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

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

始める前に

  • このページのパネルにあるメニューのタブから、update_java.shファイルを取得します。

このタスクについて

Talend Remote Engineを除き、この手順はTalendの全サービスに適用されます。詳細はTalend Remote EngineのJavaをアップグレードをご覧ください。
注: NexusはJava 11をサポートしていません。

手順

  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の全サービスを手動で起動します。

タスクの結果

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

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

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

このタスクについて

手順

  1. Java 8で実行する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. 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. Remote Engine Karafコンテナーバージョンを記述する新しい変数(Remote Engine 2.11.2 - 2.11.11の場合は4.2.12、Remote Engine 2.12.0以降の場合は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
      注: 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 Cloud Management Consoleを起動し、ログでRemote Engineの可用性とステータスを確認します。
  8. Remote Engineを起動します。