本部分说明在已安装远程引擎的情况下,如何将 Java 版本从 8 升级到 11。
Procedure
-
在 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(仅在未启用可观察性特性的情况下)。
等待一分钟,直到安装完成。
-
如果您的 Talend Remote Engine 及其服务正在运行,请停止它们(请参阅管理远程引擎服务)。
-
安装 Java 11 版本。
-
更新系统服务文件 (/opt/Talend Remote Engine/etc/talend-remote-engine-wrapper.conf):
-
编辑文件并查找以下行:set.default.JAVA_HOME=/usr/lib/jvm/jre1.8.0_221。
用新的 JAVA_HOME 路径更新它。例如:set.default.JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"。
-
添加一个新变量来描述 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。
-
在 "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
-
更新 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
-
更新 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 开始,不留空白。
-
编辑文件 /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"。
-
启动远程引擎服务(请参阅管理远程引擎服务)。
-
打开 Talend Management Console 并检查日志中的 Talend Remote Engine 可用性和状态。
-
启动您的 Talend Remote Engine。