任务发布
完成任务开发后,需要进行任务的提交运行、任务的打包发布(项目或环境隔离式开发)等系列操作,让一个实时任务在生产环境正式运行起来。
任务提交
在完成任务调试,确认任务逻辑没问题后,点击IDE页面右上方的提交按钮,任务会已Perjob模式提交到集群运行。
在任务提交时,可以再通过一次预校验,来判断任务配置是否存在问题。
校验内容包括:数据源连通性、SQL语、环境参数配置
在任务运行中状态进行热更新操作,支持任务在不停止状态下通过再次提交的方式进行任务的热更新,任务热更新过程中不支持重复提交热更新操作。
支持任务类型:FlinkSQL、实时采集
支持热更新的参数如下:
- FlinkSQL插件参数:维表all改为lru、查询超时时间
- Flink参数:并行度(包含表级别&全局环境参数)、checkPoint参数
任务发布
任务发布指将一个项目内的任务连同该任务涉及的资源、函数,一起打包发布至另一个租户/项目中提交运行的过程。
严谨的数据开发流程中一般会需要两个或三个项目:
两个项目的场景中一个项目作为开发环境,一个作为生产环境,开发者通常会在开发环境的项目内完成代码开发、流程调试、周期调度属性配置等工作,再将任务发布至生产环境的项目调度运行;
三个项目场景中则包含开发环境、测试环境和生产环境,与两个项目的场景相比多出来的测试环境的项目则是将开发环境中的任务模拟生产环境进行运行,确认无误后再发布至生产环境,为任务的发布增加了一层安全性校验;
发布流程(已两个项目为例)
进入【数据开发】空页面,点击「发布任务」
在「创建发布包」TAB下选择你需要发布到其他项目的任务,以及该任务涉及到的资源、函数,一起打包。(在任务打包对象中,勾选“更新环境参数”、“更新启停策略”,任务打包时会携带原项目中的相应信息到目标项目中进行更新)
在「发布包」TAB下可以查看、下载刚刚打包的内容
登录另一个租户、或者项目,进入【任务发布-上传发布包】页面内,上传刚刚下载的发布包,然后一键提交运行。
发布流程可视化
在「上传发布包」上传发布包后进入发布包可视化校验流程。
点击「上传发布包」确定按钮时出现以下检验弹窗,在上传发布包过程中校验:在发布包中校验引擎、数据源、资源组、资源、函数,对于每个校验项分别用校验项左边的状态icon和文本框中的内容展示校验结果。
数据源、资源组不存在时,导入发布包校验异常,支持通过选择本项目数据源、资源组进行数据源、资源组的绑定切换
- 点击「发布」进行发布包最后的导入操作,返回发布包页面并查看发布结果。
- 此处全部内容校验通过时不能保证发布过程中完全没有问题,若发布时仍有问题正常抛错。
- 发布包校验取消则上传发布包失败,返回上传发布包页面。
- 存在校验结果异常/未完成校验时,为防止校验逻辑出bug阻塞发布流程,仍可点击“发布”执行发布流程。
发布注意事项
- 若任务负责人不在本项目,则任务导入失败;
- 若任务关联的资源、函数在发布包或本项目中不存在,则任务导入失败;
- 若任务涉及的数据源本项目中不存在,则任务导入失败(针对向导模式);
- 若任务资源组未授权本项目,则任务导入失败;
- 若打包的任务处于运行中状态,或者本项目已存在该任务,则任务导入失败;
- 若二次导入任务,原任务导出时不勾选更新环境参数,二次导入时沿用当前的环境参数,而非默认指定的环境参数;
导入发布一键提交
- 一键提交支持发布任务通过勾选来调整调度策略重跑或续跑操作;
- 一键提交发布时显示当前处于运行中状态的任务
- 原任务在运行中,二次提交操作会导致任务提交失败,原任务继续运行中不受影响;
- 一键提交支持在任务后添加CheckPoint文件HDFS完整路径,任务使用续跑操作;