
# Flink支持指定作业运行的JDK版本
#### 操作场景
Flink是一个开源的流处理和批处理框架，它支持在多种环境中运行，包括本地环境、集群环境。Flink支持指定在Yarn上运行作业的JDK版本，默认为JDK 8，还支持指定为JDK 17或JDK 21。
#### 约束与限制
本章节适用于MRS 3.6.0-LTS及之后版本。
#### FlinkServer提交的作业，JDK版本切换操作步骤
1. 登录Manager界面，选择"集群 \> 服务 \> Flink"，在"Flink WebUI"右侧，单击链接，访问Flink的WebUI。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 单击"作业管理"进入作业管理页面。
3. 在FlinkServer作业管理界面，可参考[集群连接模式创建Flink SQL作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24024.html)选择已有作业或新建作业，进入作业开发界面。
4. 在作业开发界面修改运行作业的JDK版本。 
   **以切换为JDK 21为例，**配置Flink作业时，在"自定义参数"配置：
   - "containerized.master.env.JAVA_HOME"的值为"$JAVA_HOME_21"
   
   - "containerized.taskmanager.env.JAVA_HOME"的值为"$JAVA_HOME_21"
   
   
   
   
5. 保存作业并提交，作业状态为"运行中"时，单击"操作"列的"作业详情"进入Flink UI，选择"Job Manager \> Configuration \> JVM"，可以查看JDK的详细信息。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002422151572.png "点击放大")
   
   
 
#### Flink客户端提交的作业，JDK版本切换操作步骤
1. 使用客户端安装用户登录客户端所在节点，例如安装目录为"/opt/hadoopclient"。

2. 执行以下命令，进入客户端配置文件所在目录： 
   ```
   cd /opt/hadoopclient/Flink/flink/conf
   ```
   
   
3. **以切换为JDK 21为例，** 执行**vi flink-conf.yaml** 命令修改配置文件，添加如下参数：
   
   ```
   containerized.master.env.JAVA_HOME: $JAVA_HOME_21
   containerized.taskmanager.env.JAVA_HOME: $JAVA_HOME_21
   env.java.home: /opt/hadoopclient/JDK21/jdk-21.0.8
   ```
   
   
4. 使用客户端命令提交作业。
5. 作业提交运行后，进入Flink UI，选择"Job Manager \> Configuration \> JVM"，可以查看JDK的详细信息。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002480097129.png "点击放大")
   
   
 
