【技术实现步骤摘要】
一种基于airflow和yarn的任务调度方法、装置及介质
本专利技术涉及计算机任务调度
,特别是一种基于airflow和yarn的任务调度方法、装置及存储介质。
技术介绍
当前,一组有依赖关系的大数据相关作业运行时,由于作业采用网络图的形式进行规划执行,作业间存在并行执行的情况,由于计算资源利用的波动较大,并行作业在高峰时发生资源抢占,导致整组任务的整体运行时间变长。现有技术中,在任务调度时限制yarn任务运行的使用资源量,而没有考虑到峰谷的情况,单纯的限制资源使用量也不利于任务更快执行完。但是任务之间的资源抢占还是存在的,这会整组任务执行时间变长。因此,现有技术中,存在如下缺陷:无法基于任务之间的依赖关系解决任务抢占的问题,或者解决了抢占问题后执行时长没有缩短或者变长,即执行效率更低了,即没有充分利用计算资源。
技术实现思路
本专利技术针对上述现有技术中的缺陷,提出了如下技术方案。一种基于airflow和yarn的任务调度方法,该方法包括:确定步骤,确定一 ...
【技术保护点】
1.一种基于airflow和yarn的任务调度方法,其特征在于,该方法包括:/n确定步骤,确定一组任务中的一项任务task
【技术特征摘要】
1.一种基于airflow和yarn的任务调度方法,其特征在于,该方法包括:
确定步骤,确定一组任务中的一项任务taski与其他任务之间的依赖关系Di、该项任务最早能执行的时间TZi和每个任务必须结束的截止时间TDi,并动态设置每个任务的允许运行的时间范围TPi,然后将taski、Di、TZi、TDi和TPi组成一条数据记录(taski、Di、TZi、TDi、TPi)存在数据库中,其中一组任务中包括N项任务,1≦i≦N;
Airlfow配置生成步骤,根据数据库中存储的一组任务中的每一任务的数据记录(taski、Di、TZi、TDi、TPi)生成该任务的python文件,当所有任务都生成python文件后提交Airlfow服务器进行任务的执行;
任务运行记录步骤,利用爬虫访问yarn的管理界面获取该组任务的所有任务的运行情况并存入数据库,所述运行情况包括每一项任务的占用资源情况和每一项任务的实际开始结束时间,并基于所述运行情况生成资源叠加图;
任务调整步骤,使用爬虫基于该组任务的组标识dag_id访问Airlfow服务器获取该组任务中每一任务的实际运行时间、消耗内存与依赖关系,并基于每一任务的实际运行时间、消耗内存与依赖关系生成网络甘特图,基于所述资源叠加图和网络甘特图调整任务的执行顺序。
2.根据权利要求1所述的方法,其特征在于,所述占用资源情况为占用内存或处理器情况。
3.根据权利要求2所述的方法,其特征在于,所述资源叠加图的横坐标为时间,纵坐标为各个时间点对应的所有任务占用的资源的和,所述网络甘特图中的每个矩形表示一项任务,矩形的长度为该任务的运行时间,开始结束时间与时间轴上的时间相对应,矩形框高度表示该任务所消耗的资源量。
4.根据权利要求3所述的方法,其特征在于,基于所述资源叠加图和网络甘特图调整任务的执行顺序的操作为:基于所述资源叠加图计算出资源消耗最大的时间点,确定该时间点对应的所有任务的标识,基于该时间点对应的所有任务的标识在网络甘特图确定对应的所有矩形,基于每一任务的数据记录(taski、Di、TZi、TDi、TPi)调整该时间点对应的所有任务的顺序。
5.根据权利要求4所述的方法,其特征在于,基于每一任务的数据记录(taski、Di、TZi、TDi、TPi)调整该时间点对应的所有任务的顺序操作为:基于该组任务中每一任务的数据记录计算一条关键路径,关键路径是指一组任务中从开始到结束的执行时长最长的逻辑路径,每一任务均不向前移动,移动某一任务时,根据数据记录确定依赖该任务的任务,对依赖该任务的任务也相应地进行移动;如果待移动的任务位于关键路径上,则不进行移动;判断待移动的任务和依赖它的任务在移动之后的结束时间是否超过其设定的允许最晚结束时间,如果是,则不移动;判断待移动的任务和依赖它的任务在移动之后的结束时间是否大于移动之前的最晚结束任务的结束时间,如果是,则不移动。
6.一种基于airflow和yarn的任务调度装置,其特征在于,该装置包...
【专利技术属性】
技术研发人员:洪嘉凯,巫朝星,陈旺明,林智辉,郑旭,
申请(专利权)人:汉纳森厦门数据股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。