创建作业
操作场景
定义Flink的作业,包括Flink SQL和Flink Jar作业。
新建作业
- 访问Flink WebUI,请参考访问Flink WebUI。
- 单击“作业管理”进入作业管理页面。
- 单击“新建作业”,在新建作业页面可选择新建Flink SQL作业或Flink Jar作业,然后填写作业信息,单击“确定”,创建作业成功并进入作业开发界面。
同一个应用下不能有相同的作业名。
- (可选)如果需要立即进行作业开发,可以在作业开发界面进行作业配置。
进行作业开发时,系统支持对作业添加锁的功能,锁定作业的用户具备该作业的所有权限,其他用户不具备被锁定的作业的开发、启动和删除等权限,但可通过强制获取锁来具备作业的所有权限。开启该功能后,可直接通过单击“锁定作业”、“解锁作业”、“强制获取锁”来获取相应的权限。
系统默认开启作业锁功能,可在Manager查看该功能启用状态。
登录Manager,选择“集群 > 服务 > Flink > 配置 > 全部配置”,搜索参数“job.edit.lock.enable”,参数值为“true”表示开启,值为“false”表示关闭。
- 新建Flink SQL作业
- 在作业开发界面进行作业开发。
图1 Flink SQL作业开发界面
- 可以单击上方“语义校验”对输入内容校验,单击“SQL格式化”对SQL语句进行格式化。
- 作业SQL开发完成后,请参考表1设置基础参数,还可根据需要设置自定义参数,然后单击“保存”。
表1 基础参数 参数名称
参数描述
并行度
并行数量。
算子最大并行度
算子最大的并行度。
JobManager内存(MB)
JobManager的内存。输入值最小为4096。
提交队列
作业提交队列。不填默认提交到default。
taskManager
taskManager运行参数。该参数需配置以下内容:
- slot数量:不填默认是1,建议填CPU核数;
- 内存(MB):输入值最小为4096。
开启CheckPoint
是否开启CheckPoint。开启后,需配置以下内容:
故障恢复策略
作业的故障恢复策略,包含以下三种,详情请参考Flink重启策略。
- fixed-delay:需配置“重试次数”和“失败重试间隔(s)”;
- failure-rate:需配置“最大重试次数”、“时间间隔(min)”和“失败重试间隔(s)”;
- none:无。
故障恢复策略分为NO_CLAIM模式和CLAIM模式:
- CLAIM模式(默认模式):当CheckPoint文件不被用于恢复的时候会自动删除该文件。
- NO_CLAIM模式:不会自动删除CheckPoint文件。
表2 自定义参数 名称
参数描述
取值示例
table.optimizer.enriched-predicate-pushdown-enabled
是否开启谓词下推功能,执行复杂SQL作业时,可添加该参数以提升Flink SQL作业执行性能。
true
- 单击左上角“提交”提交作业。
- 在作业开发界面进行作业开发。
- 新建Flink Jar作业
- 单击“选择”,上传本地Jar文件,并参考表3配置参数或添加自定义参数。
表3 参数配置 参数名称
参数描述
本地jar文件
上传jar文件。直接上传本地文件,大小不能超过“flinkserver.upload.jar.max.size”设置的阈值,默认500MB。
登录Manager,选择“集群 > 服务 > Flink > 配置 > 全部配置”,搜索参数“flinkserver.upload.jar.max.size”即可设置jar文件阈值,取值范围为100-5120,单位MB。
Main Class
Main-Class类型。
- 默认:默认根据Jar包文件的Mainfest文件指定类名。
- 指定:手动指定类名。
类名
类名。
“Main Class”选择“指定”时存在该参数。
类参数
类参数,为Main-Class的参数(参数间用空格分隔)。
并行度
并行数量。
并行数为作业每个算子的并行数,适度增加并行数会提高作业整体算力,但也须考虑线程增多带来的切换开销,其上限是计算单元SPU数的四倍,最佳实践为计算单元SPU数的1-2倍。
JobManager内存(MB)
JobManager的内存。输入值最小为4096。
提交队列
作业提交队列。不填默认提交到default。
taskManager
taskManager运行参数。该参数需配置以下内容:
- slot数量:不填默认是1,建议填CPU核数;
- 内存(MB):输入值最小为4096。
- 单击“保存”保存配置,单击“提交”提交作业。
- 单击“选择”,上传本地Jar文件,并参考表3配置参数或添加自定义参数。
- 新建Flink SQL作业
- 返回作业管理页面,可以查看到已创建的作业名称、类型、状态、作业种类和描述等信息。
作业创建完成后,可在对应作业的“操作”列对作业进行启动、开发、停止、编辑、删除、查看作业详情和Checkpoint故障恢复等操作。
- 若要使用其他用户在节点上读取已提交的作业相关文件,需确保该用户与提交作业的用户具有相同的用户组和具有对应的FlinkServer应用管理权限角色,如参考创建FlinkServer角色勾选“应用查看”。
- 作业状态为“运行中”的作业可以查看作业详情。
- 作业状态为“运行失败”、“运行成功”和“停止”的作业可以进行Checkpoint故障恢复。