
# 集群连接模式创建Flink SQL作业
#### 操作场景
创建Flink SQL作业。在FlinkServer提交的SQL作业，其SQL文本会保存到DBServer中，在MRS 3.5.0及以后版本，FlinkServer默认提供了SQL加密存储的能力，保护用户的SQL信息安全。FlinkServer界面回显FlinkSQL时，SQL中的"password"字段将显示为空，在回显状态下需要将密码信息补齐后再提交作业。如果是自定义connector，密码字段名要用"password"关键字，否则页面可能显示敏感信息。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
关闭SQL加密存储可能会存在密码泄漏风险，建议保持默认开启SQL加密存储。如果要关闭，可参考如下操作：
1. （可选）备份已存在的作业，然后删除所有作业。作业备份和导入可参考[导入导出FlinkServer作业信息](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24481.html)。
2. 修改"ENABLE_DB_ENCRYPT"的值为"false"。 登录FlinkServer主备节点，将"$BIGDATA_HOME//FusionInsight_Flink_*x.x.x* /*x_x*_FlinkServer/etc/flinkserver_service.properties"文件中的"ENABLE_DB_ENCRYPT"参数值设置为"false"，保存并退出。
   
3. 重启受影响的FlinkServer实例。 登录FusionInsight Manager，选择"集群 \> 服务 \> Flink \> 实例"，勾选所有FlinkServer实例，选择"更多 \> 重启实例"，根据界面提示重启FlinkServer实例。
   
 
 #### 新建作业
1. 访问Flink WebUI，请参考[访问FlinkServer WebUI界面](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24019.html)。
2. 单击"作业管理"进入作业管理页面。
3. 单击"新建作业"，在新建作业页面可选择新建Flink SQL作业或Flink Jar作业，然后填写作业信息，单击"确定"，创建作业成功并进入作业开发界面。
4. （可选）如果需要立即进行作业开发，可以在作业开发界面进行作业配置。 
   进行作业开发时，系统支持对作业添加锁的功能，锁定作业的用户具备该作业的所有权限，其他用户不具备被锁定的作业的开发、启动和删除等权限，但可通过强制获取锁来具备作业的所有权限。开启该功能后，可直接通过单击"锁定作业"、"解锁作业"、"强制获取锁"来获取相应的权限。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   系统默认开启作业锁功能，可在Manager查看该功能启用状态。适用于MRS 3.3.0及以后版本。
   登录Manager，选择"集群 \> 服务 \> Flink \> 配置 \> 全部配置"，搜索参数"job.edit.lock.enable"，参数值为"true"表示开启，值为"false"表示关闭。
   
   
5. 新建Flink SQL作业。 
   1. 在作业开发界面进行作业开发。
      图1FlinkServer作业开发界面   
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001676907982.png "点击放大") 
   
   2. 可以单击上方"语义校验"对输入内容校验，单击"SQL格式化"对SQL语句进行格式化。
   
   3. 作业SQL开发完成后，请参考[表1]设置基础参数，还可根据需要设置自定义参数，然后单击"保存"。
       表1基础参数 
      | 参数名称             | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      |:---|:---|
      | 并行度              | 并行数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | 算子最大并行度          | 算子最大的并行度。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      | JobManager内存（MB） | JobManager的内存。输入值最小为4096。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      | 提交队列             | 作业提交队列。不填默认提交到default。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      | taskManager      | taskManager运行参数。该参数需配置以下内容： - slot数量：不填默认是1，建议填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：无。                                                                                                                                                                                                                                                                                                       |
         
      
   
   4. 单击左上角"提交"提交作业。
   
   
   
   
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)勾选"应用查看"。
   
   - 作业状态为"运行中"的作业可以查看作业详情。
   
   - 作业状态为"运行失败"、"运行成功"和"停止"的作业可以进行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。
      
    
   
   
 
