开发实时处理单任务DLI Flink Jar作业
前提条件
已创建一个实时处理的单任务DLI Flink Jar作业。
配置DLI Flink Jar作业
配置DLI Flink JAR作业属性信息,参见表1。
| 参数 | 是否必选 | 说明 |
|---|---|---|
| 基础配置 | ||
| DLI队列 | 是 | 选择DLI队列名称。可以单击查看按钮查看DLI队列信息。 |
| Flink版本 | 是 | 仅支持DLI队列新1.15以后的Flink版本。 |
| Jar包资源 | 是 | 选择DLI的资源信息。如果没有可选资源,请前往管理资源进行配置。 |
| 入口类 | 否 | 指定加载的Jar包入口类名(如:KafkaMessageStreaming)。若不指定,则根据Jar包文件的Manifest文件确定。存在多个jar包时,必须指定入口类。 |
| 入口参数 | 否 | 指定入口类的参数列表,参数之间使用空格分隔(如:test tmp/result.txt)。 说明: 请勿输入敏感信息,例如ak、sk、password、authorization等信息。 |
| 依赖jar包 | 否 | 选择依赖jar包。如果没有所需jar包,请前往管理资源进行配置。 |
| 其他依赖文件 | 否 | 如需访问所选择的依赖文件,请在应用程序代码中添加以下内容。ClassName.class.getClassLoader().getResource("userData/fileName") 其中,“fileName”替换为需要访问的文件名,“ClassName”替换为需要访问该文件的类名。 如果没有可选文件,请前往管理资源进行配置。 |
| DLI作业委托 | 是 | 选择DLI作业委托。 如果没有合适的委托,请前往IAM创建。 |
| 资源配置 | ||
| Job Manager CPU | 是 | 配置作业的CPU数量。输入值必须在0.5到16之间。 |
| Job Manager Memory | 否 | 单位为GiB时,输入值必须在2到64之间。 单位为MiB时,输入值必须在2,048到65,536之间。 |
| Task Manager CPU | 是 | 配置任务的CPU数量。输入值必须在0.5到16之间。 |
| Task Manager Memory | 否 | 单位为GiB时,输入值必须在2到64之间。 单位为MiB时,输入值必须在2,048到65,536之间。 |
| 并发数 | 是 | 配置作业的并发数。并发数不能小于1。 并发数是指同时运行DLI Flink SQL作业的任务数。用户为作业选择的并发量。 |
| 每个TaskManager的slot数 | 否 | 设置每个TaskManager的slot数。输入值不能小于1。 |
| 运行参数配置 | ||
| 是否开启作业自动快照功能 | 是 | 该参数开启,系统会自动生成checkpoint。 该参数开启时,需要配置如下参数。
该参数关闭时,无需配置上面的参数。 |
| State数据过期时间 | 否 | 设定的Flink状态生存时间,状态服务每经过设置的时间就会清理当前存储的状态(仅支持DLI Flink SQL作业)。 输入值不能小于1。默认36小时。 |
| Flink重启策略 | 否 | |
| 检测Failure Rate的时间间隔 | 否 | 仅当“Flink重启策略”选择“Failure Rate”时,才需配置。 输入值不能小于1。单位支持:秒、毫秒、分、小时。默认为秒。 |
| 时间间隔内的最大失败次数 | 否 | 仅当“Flink重启策略”选择“Failure Rate”时,才需配置。 作业失败之前,给定时间间隔内的最大重新启动次数。 输入值不能小于1。 |
| 尝试重启的次数 | 否 | 仅当“Flink重启策略”选择“Fixed Delay”时,才需配置。 Flink在宣告作业失败之前重试执行的次数。 输入值不能小于1。 |
| 每次重启时间间隔 | 否 | 延迟重试意味着在执行失败后,重新执行不会立即开始,而只会在一定的延迟后开始当程序与外部系统进行交互(例如,连接或挂起的事务在尝试重新执行之前应达到超时)时,延迟重试可能会有所帮助。 输入值不能小于1。单位支持:秒、毫秒、分、小时。默认为秒。 |
| 运行参数配置 | 否 | 输入运行参数。Flink作业运行时自定义参数。 输入格式为key=value的参数。多个参数使用Enter键分隔。 举例如下: taskmanager.numbertaskslot=1 execution.checkpointing.mode=AT_LEAST_ONCE state.checkpoints.num-retained=10 |
| 日志配置 | ||
| 日志归档 | 是 | 开关开启时,可在作业监控查看Flink作业的提交、运行日志。 |
| 日志存储路径 | 是 | 日志存储的OBS桶路径。
|
| 根日志级别 | 否 |
|
| 类日志等级 | 否 | 单击 输入“Logger name”,选择“Logger level”。 Logger level支持如下五种。
|
| 参数 | 是否必选 | 说明 |
|---|---|---|
| 作业状态轮询时间(秒) | 是 | 设置轮询时间(30~60秒、120秒、180秒、240秒、300秒),每隔x秒查询一次作业是否执行完成。 作业运行过程中,根据设置的作业状态轮询时间查询作业运行状态。 |
| 最长等待时间 | 是 | 设置作业执行的超时时间,如果作业配置了重试,在超时时间内未执行完成,该作业将会再次重试。 说明: 如果作业一直处于启动中状态,没有成功开始运行,超时后作业会被置为失败。 |
| 重启策略 | 是 |
|
| 失败重试 | 否 | 节点执行失败后,是否重新执行节点。
说明: 如果作业节点配置了重试,并且配置了超时时间,该节点执行超时后,系统支持再重试。 当节点运行超时导致的失败不会重试时,您可前往“默认项设置”修改此策略。 当“失败重试”配置为“是”才显示“超时重试”。 |
参数设置完成后,单击“保存”,并提交该作业。
单击“启动”,运行该作业。
DLI Flink支持手动触发savepoint。DLI Flink作业触发savepoint,需要开发人员手动去触发savepoint,开发人员修改作业后从savepoint启动作业,从而避免数据丢失。(savepoint是指实时作业某一个时间点的快照,Flink实时作业停止时,系统会自动保存一个savepoint快照,修改作业后,继续从这个停止的时间点开始运行。)
作业启动包含无状态启动和有状态启动。无状态启动是指不包含任何初始状态启动。有状态启动是指从最新状态或者指定状态启动。有状态启动包含如下两种方式:
- 从最新状态启动
- 从指定状态启动:选择checkpoint/savepoint进行启动。
- 从状态集选择:支持从状态集选择checkpoint/savepoint
- 从OBS选择:支持从OBS选择或者填写checkpoint/savepoint
请前往“运维调度 > 作业监控”界面的“实时作业监控”查看作业运行结果。在实时作业监控页面,查看运行日志,包含运行日志、提交日志、Flink运行日志。其中,在Flink运行日志中可以查看Job Manager和Taskmanager的日志。
配置作业基本信息
| 参数 | 说明 |
|---|---|
| 责任人 | 自动匹配创建作业时配置的作业责任人,此处支持修改。 |
| 作业委托 | 当“作业调度身份是否可配置”设置为“是”,该参数可见。 配置委托后,作业执行过程中,以委托的身份与其他服务交互。 |
| 作业优先级 | 自动匹配创建作业时配置的作业优先级,此处支持修改。 |
| 实例超时时间 | 配置作业实例的超时时间,设置为0或不配置时,该配置项不生效。如果您为作业设置了异常通知,当作业实例执行时间超过超时时间,将触发异常通知,发送消息给用户,作业不会中断,继续运行。 |
| 实例超时是否忽略等待时间 | 配置实例超时是否忽略等待时间。 如果勾选上,表示实例运行时等待时间不会被计入超时时间,可前往默认项设置 > 实例超时是否忽略等待时间修改此策略。 如果未选上,表示实例运行时等待时间会被计入超时时间。 |
| 自定义字段 | 配置自定义字段的参数名称和参数值。 |
| 作业标签 | 配置作业的标签,用以分类管理作业。 单击“新增”,可给作业重新添加一个标签。 |
配置作业参数
单击编辑器右侧的“参数”,展开配置页面,配置如表4所示的参数。
| 功能 | 说明 |
|---|---|
| 变量 | |
| 新增 | 单击“新增”,在文本框中填写作业参数的名称和参数值。 参数配置完成后,在作业中的引用格式为:${参数名称} |
| 编辑参数表达式 | 在参数值文本框后方,单击 |
| 修改 | 在参数名和参数值的文本框中直接修改。 |
| 掩码显示 | 在参数值为密钥等情况下,从安全角度,请单击 |
| 删除 | 在参数值文本框后方,单击 |
| 常量 | |
| 新增 | 单击“新增”,在文本框中填写作业常量的名称和参数值。 参数配置完成后,在作业中的引用格式为:${参数名称} |
| 编辑参数表达式 | 在参数值文本框后方,单击 |
| 修改 | 在参数名和参数值的文本框中直接修改,修改完成后,请保存。 |
| 删除 | 在参数值文本框后方,单击 |
| 工作空间环境变量 | |
| 查看工作空间已配置的变量和常量。 | |
单击“作业参数预览”页签,展开预览页面,配置如表5所示的参数。
| 功能 | 说明 |
|---|---|
| 当前时间 | 仅单次调度才显示。系统默认为当前时间。 |
| 事件触发时间 | 仅事件驱动调度才显示。系统默认为事件触发时间。 |
| 周期调度 | 仅周期调度才显示。系统默认为调度周期。 |
| 具体时间 | 仅周期调度才显示。周期调度配置的具体运行时间。 |
| 起始日期 | 仅周期调度才显示。周期调度的生效时间。 |
| 后N个实例 | 作业运行调度的实例个数。 |
在作业参数预览中,如果作业参数配置存在语法异常情况系统会给出提示信息。
如果参数配置了依赖作业实际运行时产生的数据,参数预览功能中无法模拟此类数据,则该数据不展示。





