兼容的 Java 环境
下表提供了有关从 February 2025 及更高版本起建议与您的 Talend 产品一起使用的 Java 环境的信息。如果您使用的 Talend 8.0 产品未使用 February 2025 或更高版本的更新进行修补或更新,请参阅 February 2025 之前的兼容 Java 环境。
支持的 Java 平台是 OpenJDK 和 Oracle JDK。OpenJDK 的建议发行版是 Zulu (仅提供英文版本)。
在下面的文档中:
- 建议:指定由 Qlik 根据我们的经验和客户使用情况建议的环境。
- 支持:指定支持用于所列组件或服务的环境。
- 带限制的支持:指定受 Qlik 支持但具有说明中交待的某些条件的环境。
用于启动 Talend Studio 的支持的 Java 版本
| Java 版本 (OpenJDK 或 Oracle JDK) | 支持类型 |
|---|---|
| 21 | 支持 |
| 17 | 建议 |
用于启动 Talend Server 模块的支持的 Java 版本
| Talend 服务器模块 | Java 版本 (OpenJDK 或 Oracle JDK) | 支持类型 |
|---|---|---|
|
|
支持 |
|
|
支持 |
|
|
支持 建议 |
|
|
支持 |
1 要在 Java 17 下使用 Talend Administration Center,您需要打开 文件并添加以下命令:
支持运行路由、数据集成作业和数据服务作业的 Java 版本
- 数据集成作业和路由是基于 Java 17 合规性构建的。
- 大数据作业是基于 Java 8 合规性构建的,并自动包含 add-opens 参数。因此,它们可以在 Talend 模块中用 Java 17 执行,在大数据集群中用 Java 8 执行。换句话说,作业是用 Java 17 启动的,然后部署在以 Java 8 运行的集群中。
- 不支持使用 Java 21 的第三方库。
下表显示了可以在哪些 Java 环境中执行相应的项。
| 执行使用的 Java 版本 | 支持类型 |
|---|---|
| 21 | 在 Talend Studio 中支持 |
| 17 | 支持 请注意,例程合规性可以设置为 Java 8 或 17。 |
| 执行使用的 Java 版本 | 支持类型 |
|---|---|
| 21 | 在 Talend Studio 中支持 |
| 17 | 支持 |
在大数据集群中运行大数据作业所支持的 Java 版本
大数据作业在 Talend Studio 中按 Java 8 标准构建。构件包含 add-opens 参数,以确保在 Talend 环境中与 Java 17 运行时兼容。然而,部署到大数据集群时,该作业使用该集群上运行的 Java 版本执行,而非构建时的 Java 版本。
这种构建一次、随处运行的模型,允许您使用符合 Java 8 规范的 Talend Studio 编译一次作业,并将其部署到运行不同 Java 版本的集群中。然而,您必须确保目标集群的 Java 版本与您的作业例程兼容。
例程合规性可以设置为 Java 8 或 17。例程的合规性级别必须与集群的 Java 版本兼容。有关更多信息,请参阅在 Talend Studio 中为例程设置 Java 版本。
下表列出了运行大数据作业和 Spark 应用程序的推荐发行版及其支持的 Java 版本。选择与您的环境和例程合规级别相匹配的集群发行版和 Java 版本。
| 发行版 | 集群中的 Java 版本 | 建议的例程合规性 | 支持状态 |
|---|---|---|---|
| Hadoop 3.x | 8 | Java 8 | 支持 |
| Hadoop 3.x | 11 | Java 8 或 11 | 支持 |
| Cloudera CDH 6.x | 8 | Java 8 | 支持 |
| Cloudera CDH 6.x | 11 | Java 8 或 11 | 支持 |
| Spark 3.x(独立集群) | 8 或 11 | Java 8 或 11 | 支持 |
| Spark Structured Streaming | 17 | Java 17 | 支持 请注意,Spark Structured Streaming 需要集群中安装 Java 17。在将您的例行程序部署到这些环境之前,请确保它们已按 Java 17 合规性要求进行编译。 |
大数据作业执行兼容性示例
下表展示了大数据作业部署到不同集群环境的示例场景。
| 集群发行版 | 集群 Java 版本 | 例程合规性 | 可以执行? |
|---|---|---|---|
| Hadoop 3.x | 8 | Java 8 | 是 |
| Hadoop 3.x | 11 | Java 8 | 是 |
| Cloudera CDH 6.x | 11 | Java 17 | 否 – 集群不支持 Java 17。 |
| Spark Structured Streaming | 17 | Java 17 | 是 |
| Spark Structured Streaming | 17 | Java 8 | 否 – 与集群 Java 17 不兼容的例程 |