
# 创建Flink Jar作业
#### 操作场景
通过FlinkServer创建Flink Jar作业。
#### 新建作业
1. 访问Flink WebUI，请参考[访问FlinkServer WebUI界面](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24019.html)。
2. 单击"作业管理"进入作业管理页面。
3. 单击"新建作业"，在新建作业页面可选择新建Flink Jar作业，然后填写作业信息，单击"确定"，创建作业成功并进入作业开发界面。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   同一个应用下不能有相同的作业名。
   
   
4. （可选）如果需要立即进行作业开发，可以在作业开发界面进行作业配置。
5. 新建Flink Jar作业 
   1. 在作业开发界面，单击"选择"，上传本地Jar文件，并参考[表1]配置参数或添加自定义参数。
       表1参数配置 
      | 参数名称                | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      |:---|:---|
      | 本地jar文件             | 上传jar文件。直接上传本地文件，大小不能超过"flinkserver.upload.jar.max.size"设置的阈值，默认500MB。 登录Manager，选择"集群 \> 服务 \> Flink \> 配置 \> 全部配置"，搜索参数"flinkserver.upload.jar.max.size"即可设置jar文件阈值，取值范围为100-5120，单位MB。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      | Main Class          | Main-Class类型。 - 默认：默认根据Jar包文件的Manifest文件指定类名。  - 指定：手动指定类名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
      | 类名                  | 类名。 "Main Class"选择"指定"时存在该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      | 类参数                 | 类参数，为Main-Class的参数（参数间用空格分隔）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      | 并行度                 | 并行数量。 并行数为作业每个算子的并行数，适度增加并行数会提高作业整体算力，但也须考虑线程增多带来的切换开销，其上限是计算单元SPU数的四倍，最佳实践为计算单元SPU数的1-2倍。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | JobManager内存（MB）    | JobManager的内存。输入值最小为4096。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | 提交队列                | 作业提交队列。不填默认提交到default。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | taskManager         | taskManager运行参数。该参数需配置以下内容： - slot数量：不填默认是2，建议填CPU核数。  - 内存（MB）：输入值最小为4096。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
      | 开启CheckPoint（流作业可见） | 是否开启CheckPoint。 开启后，需配置以下内容： - 时间间隔（ms）：必填项。  - 模式：必填项。 可选项为：EXACTLY_ONCE、AT_LEAST_ONCE。   - 最小间隔（ms）：输入值最小为10。  - 超时时间：输入值最小为10。  - 最大并发量：正整数，且不能超过64个字符。  - 是否清理：是/否。  - 是否开启增量Checkpoint：是/否。   |
      | 故障恢复策略              | 作业的故障恢复策略，包含以下三种，详情请参考[配置Flink作业重启策略](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_300629.html)。 - fixed-delay：需配置"重试次数"和"失败重试间隔（s）"。  - failure-rate：需配置"最大重试次数"、"时间间隔（min）"和"失败重试间隔（s）"。  - none：无。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
         
      
   
   2. 单击"保存"保存配置，单击"提交"提交作业。
   
   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   若重新使用其他用户提交FlinkServer作业时，需确保该用户具备FlinkServer应用管理及作业中涉及组件的权限角色（如提交Kafka Connector作业，需确保该用户具有FlinkServer应用管理及Kafka应用管理的角色权限）。
   
   
6. 返回作业管理页面，可以查看到已创建的作业名称、类型、状态、作业种类和描述等信息。 
   作业创建完成后，可在对应作业的"操作"列对作业进行启动、开发、停止、编辑、删除、查看作业详情和Checkpoint故障恢复等操作。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 若要使用其他用户在节点上读取已提交的作业相关文件，需确保该用户与提交作业的用户具有相同的用户组和具有对应的FlinkServer应用管理权限角色，如参考[创建FlinkServer权限角色](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24049.html)勾选"应用查看"。
   
   - 作业状态为"运行中"的作业可以查看作业详情。若使用密信浏览器查看作业的"作业详情"，请参考[7.15.1章节](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_300718.html)。
   
   - 作业状态为"运行失败"、"运行成功"和"停止"的作业可以进行Checkpoint故障恢复。
   
   - 作业状态为"失败"或"取消"的作业的Checkpoint是否保留可登录Manager，选择"集群 \> 服务 \> Flink \> 配置 \> 全部配置"，搜索并配置FlinkServer的参数"execution.checkpointing.externalized-checkpoint-retention"设置。
     - DELETE_ON_CANCELLATION：仅保存"失败"作业的Checkpoint。
     
     - RETAIN_ON_CANCELLATION（MRS 3.5.0及以后版本默认值）：保存"失败"或"取消"作业的Checkpoint。
     
     - NO_EXTERNALIZED_CHECKPOINTS（MRS 3.5.0之前版本默认值）：不保存"失败"或"取消"作业的Checkpoint。
      
    
   
   
 
