一种基于flinkonyarn的热重启方法及装置与流程

文档序号:35679007发布日期:2023-10-08 12:30阅读:20来源:国知局
一种基于flinkonyarn的热重启方法及装置与流程

本申请涉及大数据处理,尤其涉及一种基于flink on yarn的热重启方法及装置。


背景技术:

1、flink作为大数据领域的数据处理引擎,支持在yarn、kubernetes等资源管理平台上进行调度与执行,尤其是在yarn的实时处理场景中,flink任务总是以per-job单作业提交模式运行,这种情况下,每个任务都有独立的集群和资源,因此每启动一个per-job任务都需要单独分配资源并启动一个flink集群。

2、而per-job任务在修改部分参数或者逻辑的时候,需要将运行的任务取消后,提交新的任务,并基于flink的checkpoint机制,在上次取消的状态下进行恢复,以保证数据处理的准确性,但这会导致新任务提交和运行的耗时非常长,且无法做到资源的复用,在复杂场景下还会造成业务阻塞。


技术实现思路

1、本申请提供的一种基于flink on yarn的热重启方法,旨在解决现有技术中per-job新任务提交和运行耗时长导致的业务阻塞问题。

2、为实现上述目的,本申请采用以下技术方案:

3、本申请的一种基于flink on yarn的热重启方法,应用于服务端,包括以下步骤:

4、在监控组件中注册flink内置的jobsubmithandler,并通过注册完成的监控组件将客户端发送的新任务提交请求转发给分发组件;

5、在所述分发组件接收到所述新任务提交请求后,判断是否进行热重启,若是,则取消旧任务,并将所述旧任务的当前信息保存到所述新任务对应的jobgraph中;

6、修改任务管理器中所述旧任务对应slot的映射关系,并将所述jobgraph发送给映射关系修改完成后的slot进行运行。

7、作为优选,所述判断是否进行热重启,包括:

8、判断所述分发组件内部缓存的任务是否为空,若是,则为第一次提交任务,缓存所述新任务信息并执行任务提交逻辑,否则进行热重启。

9、作为优选,所述取消旧任务,并将所述旧任务的当前信息保存到所述新任务对应的jobgraph中,包括:

10、执行cancelwithsavepoint方法,根据所述cancelwithsavepoint方法取消旧任务并生成所述旧任务的savepoint信息;

11、于所述旧任务成功取消时,将所述旧任务的savepoint信息保存到所述新任务对应的jobgraph的savepointrestoresettings字段属性中。

12、作为优选,所述修改任务管理器中所述旧任务对应slot的映射关系,包括:

13、调用任务管理器中的rpc请求,根据所述rpc请求将所述任务管理器中所述旧任务与其对应slot的映射关系修改为所述新任务与所述slot的映射关系。

14、一种基于flink on yarn的热重启装置,应用于服务端,包括:

15、转发模块,用于在监控组件中注册flink内置的jobsubmithandler,并通过注册完成的监控组件将客户端发送的新任务提交请求转发给分发组件;

16、保存模块,用于在所述分发组件接收到所述新任务提交请求后,判断是否进行热重启,若是,则取消旧任务,并将所述旧任务的当前信息保存到所述新任务对应的jobgraph中;

17、调整模块,用于修改任务管理器中所述旧任务对应slot的映射关系,并将所述jobgraph发送给映射关系修改完成后的slot进行运行。

18、作为优选,所述保存模块包括:

19、判断单元,用于判断所述分发组件内部缓存的任务是否为空,若是,则为第一次提交任务,缓存所述新任务信息并执行任务提交逻辑,否则进行热重启。

20、作为优选,所述保存模块还包括:

21、取消单元,用于执行cancelwithsavepoint方法,根据所述cancelwithsavepoint方法取消旧任务并生成所述旧任务的savepoint信息;

22、保存单元,用于于所述旧任务成功取消时,将所述旧任务的savepoint信息保存到所述新任务对应的jobgraph的savepointrestoresettings字段属性中。

23、作为优选,所述调整模块包括:

24、修改单元,用于调用任务管理器中的rpc请求,根据所述rpc请求将所述任务管理器中所述旧任务与其对应slot的映射关系修改为所述新任务与所述slot的映射关系。

25、一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上述中任一项所述的一种基于flink on yarn的热重启方法。

26、一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述中任一项所述的一种基于flink on yarn的热重启方法。

27、本发明具有如下有益效果:

28、本申请通过使用热重启技术,可以复用per-job模式下的相关资源,减少重新创建集群以及申请资源等操作消耗的时间,还通过chechpoint机制保障了数据的正确性。



技术特征:

1.一种基于flink on yarn的热重启方法,其特征在于,应用于服务端,包括以下步骤:

2.根据权利要求1所述的一种基于flink on yarn的热重启方法,其特征在于,所述判断是否进行热重启,包括:

3.根据权利要求1所述的一种基于flink on yarn的热重启方法,其特征在于,所述取消旧任务,并将所述旧任务的当前信息保存到所述新任务对应的jobgraph中,包括:

4.根据权利要求1所述的一种基于flink on yarn的热重启方法,其特征在于,所述修改任务管理器中所述旧任务对应slot的映射关系,包括:

5.一种基于flink on yarn的热重启装置,其特征在于,应用于服务端,包括:

6.根据权利要求5所述的一种基于flink on yarn的热重启装置,其特征在于,所述保存模块包括:

7.根据权利要求5所述的一种基于flink on yarn的热重启装置,其特征在于,所述保存模块还包括:

8.根据权利要求5所述的一种基于flink on yarn的热重启装置,其特征在于,所述调整模块包括:

9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1~4中任一项所述的一种基于flink on yarn的热重启方法。

10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现如权利要求1~4中任一项所述的一种基于flink on yarn的热重启方法。


技术总结
本申请公开了一种基于flink on yarn的热重启方法及装置,涉及大数据处理技术领域,包括以下步骤:在监控组件中注册flink内置的jobSubmitHandler,并通过注册完成的监控组件将客户端发送的新任务提交请求转发给分发组件;在分发组件接收到所述新任务提交请求后,判断是否进行热重启,若是,则取消旧任务,并将旧任务的当前信息保存到所述新任务对应的jobgraph中;修改任务管理器中旧任务对应slot的映射关系,并将jobgraph发送给映射关系修改完成后的slot进行运行。本申请通过使用热重启技术,可以复用per‑job模式下的相关资源,从而减少了重新创建集群以及申请资源等操作消耗的时间。

技术研发人员:杨槐,陈吉平,徐进挺
受保护的技术使用者:杭州玳数科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1