CN112486502A - 分布式任务的部署方法、装置、计算机设备和存储介质 - Google Patents

分布式任务的部署方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112486502A
CN112486502A CN202011375428.6A CN202011375428A CN112486502A CN 112486502 A CN112486502 A CN 112486502A CN 202011375428 A CN202011375428 A CN 202011375428A CN 112486502 A CN112486502 A CN 112486502A
Authority
CN
China
Prior art keywords
program
execution
executive
subtask
scheduling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011375428.6A
Other languages
English (en)
Inventor
曹斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202011375428.6A priority Critical patent/CN112486502A/zh
Publication of CN112486502A publication Critical patent/CN112486502A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种分布式任务的部署方法、部署装置、计算机设备和计算机可读存储介质。部署方法包括步骤:接收调度任务并根据调度任务生成调动请求以启动调度程序,调度任务包括多个依次关联的子任务,接收调度程序的执行请求并根据执行请求启动第一执行程序以执行子任务中的第一子任务,根据第一执行程序的执行结果和执行请求启动第二执行程序以执行子任务中的第二子任务,第一子任务是第二子任务的前置关联子任务。如此,对于相互依赖的子任务的执行由一个调度程序实现,避免了频繁启动调度程序,使得任务的管理更加清晰。

Description

分布式任务的部署方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术,特别涉及一种分布式任务的部署方法、部署装置、计算机设备和计算机可读存储介质。
背景技术
相关技术中,spark的分布式计算任务可部署于Kubernetes(k8s),以解决多台服务器资源的管理和分配的问题。
然而,由于同一个业务相关的spark的分布式计算任务,一般分成多个子任务,而每一个子任务都需要重新启动一个新的Driver Pod以开启executor Pod,导致Master节点需要频繁启动Driver Pod。
发明内容
本申请提供了一种分布式任务的部署方法,所述部署方法包括:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序(driver pod),所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动第一执行程序(executorpod)以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
在某些实施方式中,所述根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务包括:
从HDFS上获取所述第一执行程序(executor pod)的执行结果,并根据所述第一执行程序的执行结果执行第二执行程序。
在某些实施方式中,所述部署方法还包括:
监测所述第一执行程序的运行状态,以判断第一执行程序是否需要重启。
在某些实施方式中,所述部署方法还包括:
判断所述执行结果是否生成;
若所述执行结果未生成,重新启动所述第一执行程序以再次执行所述第一子任务;
在所述执行结果生成时校验结果文件是否正确。
在某些实施方式中,所述第一执行程序以及所述第二执行程序分别在多个子节点执行。
在某些实施方式中,所述调度程序包括应用程序接口,所述部署方法包括;
在所述第一执行程序和所述第二执行程序执行所述子任务时生成日志,
通过所述应用程序接口获取所述日志并以使所述调度程序对所述日志进行归集处理。
在某些实施方式中,所述部署方法还包括:
在所述子任务执行完后,删除所述第一执行程序和所述第二执行程序。
本申请还提供了一种分布式任务的部署装置,所述部署装置包括主节点和多个子节点,所述子节点连接所述主节点;
其中,所述子节点用于运行调度程序、第一执行程序和第二执行程序。
所述主节点用于:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序,所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动第一执行程序以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
在某些实施方式中,所述部署装置还包括分布式文件系统,所述分布式文件系统与所述子节点连接;所述分布式文件系统用于存储所述子节点生成的日志。
本申请提供了一种计算机设备,包括一个或者多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行上述任意一项所述的分布式任务的部署方法的指令。
本申请提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行上述的任意一项所述分布式任务的部署方法。
本申请实施方式的分布式任务的部署方法、部署装置、计算机设备和计算机可读存储介质中,通过在接收到包含相关联的子任务的调度任务而启动调度程序后,由调度程序先启动一个执行程序,待执行程序执行完子任务后,再由调度程序根据该执行程序的执行结果启动下一个与先前执行程序相关联的执行程序下一个子任务,如此,对于调度任务中相互依赖的子任务的执行由一个调度程序实现,避免了频繁启动调度程序,使得任务的管理更加清晰。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的部署方法的一个流程示意图。
图2是本申请某些实施方式的部署装置的模块示意图。
图3是本申请某些实施方式的计算机设备的模块示意图。
图4是本申请某些实施方式的处理器和计算机可读存储介质的连接示意图。
图5是本申请某些实施方式的部署方法的一个场景示意图。
图6本申请某些实施方式的部署方法的一个流程示意图。
图7是本申请某些实施方式的部署方法的一个流程示意图。
图8是本申请某些实施方式的部署方法的一个流程示意图。
图9是本申请某些实施方式的部署方法的一个流程示意图。
图10是本申请某些实施方式的日志归集处理的场景示意图。
主要元件符号说明:
部署装置10、主节点12、子节点14、存储卷16、计算机设备100、处理器20、存储器30、程序32、可读存储介质40、计算机程序42。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体地限定。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
近年来,物联网、大数据、云计算、人工智能等技术被广泛的应用,大数据和云计算技术也出现了融合趋势。对于大数据的计算分析,目前广泛应用于的Spark计算框架。Spark计算框架是一种对大数据处理而设计的快速通用的计算引擎,可用它来完成各种各样的运算。
相关技术中,Spark计算框架需要的计算资源CPU和内存,可由Kubernetes(k8s)集群实现,也即是,Kubernetes集群可以作为Spark的资源调度器。Kubernetes集群是一种开源的用于管理云平台中多个主机上的容器化的应用,用于统一管理主机的资源(CPU和内存)。在Spark计算框架对大数据计算任务进行处理时,生成调度任务并发送至Kubernetes集群,Kubernetes集群可对Spark计算框架需要的计算CPU和内存进行分配。
Kubernetes集群包括有master节点和若干个node节点。其中,Master节点是Kubernetes集群的主节点,用于记录Kubernetes集群的总的CPU个数和内存,并在Spark提交调度任务时启动pod以执行。Node节点是Kubernetes集群的子节点,用于执行Master节点分配的pod。Pod是指占用了一定CPU核数和内存的一个运行程序。Spark部署在k8s上运行时,Pod包括调度pod(driver pod)和执行pod(executor Pod)。通常,master节点接收调度任务后,分配一个node节点启动driver pod,由Driver Pod向master节点申请分配资源,从而再次分配一个或者多个node节点启动executor Pod以执行该任务。
然而,大数据计算任务可能包括多个子任务,并且子任务之间一般存在依赖关系,上一个子任务计算结果的输出可能为下一个子任务的输入,而每一个子任务都需要重新启动一个新的Driver Pod以开启executor Pod,导致Master节点需要频繁启动Driver Pod。
有鉴于此,请参阅图1,本申请实施方式提供一种分布式任务的部署方法,分布式任务的部署方法包括步骤:
S12:接收调度任务并根据调度任务生成调动请求以启动调度程序,调度任务包括多个依次关联的子任务;
S14:接收调度程序的执行请求并根据执行请求启动第一执行程序以执行子任务中的第一子任务;和
S16:根据第一执行程序的执行结果和执行请求启动第二执行程序以执行子任务中的第二子任务,第一子任务是第二子任务的前置关联子任务。请进一步参图2,本申请实施方式提供了一种分布式任务的部署装置10。本申请的部署方法可以应用于部署装置10,或者说,部署方法可以由部署装置10实现。
部署装置10包括主节点12和多个子节点14,子节点14连接主节点12;其中,子节点14用于启动调度程序、第一执行程序和第二执行程序。
步骤S12、S14以及S16可以由主节点12实现,也即是,主节点12可以用于接收调度任务并根据调度任务生成调动请求以启动调度程序,调度任务包括多个依次关联的子任务,以及接收调度程序的执行请求并根据执行请求启动第一执行程序以执行子任务中的第一子任务。主节点12还用于根据第一执行程序的执行结果和执行请求启动第二执行程序以执行子任务中的第二子任务,第一子任务是第二子任务的前置关联子任务。
请参阅图4,本申请提供了一种计算机设备100,包括一个或者多个处理器20、存储器30;和一个或多个程序32,其中一个或多个程序32被存储在存储器30中,并且被一个或多个处理器20执行,程序32被处理器20执行分布式任务的部署方法的指令。
请结合图5,本申请提供了一种包含计算机程序42的非易失性计算机可读存储介质40,当计算机程序42被一个或多个处理器20执行时,使得处理器20执行分布式任务的部署方法。
这些实施方式的部署方法、部署装置10、计算机设备100和计算机可读存储介质40中,通过在接收到包含相关联的子任务的调度任务而启动调度程序后,由调度程序先启动一个执行程序,待执行程序执行完子任务后,再由调度程序根据该执行程序的执行结果启动下一个与先前执行程序相关联的执行程序下一个子任务,如此,对于调度任务中相互依赖的子任务的执行由一个调度程序实现,避免了频繁启动调度程序,使得任务的管理更加清晰。
本实施方式以计算机设备100是电脑为例进行说明,也即是说,分布式任务的部署方法和部署装置10应用于但不限于电脑。部署装置10可以是预安装于电脑的硬件或软件,并在电脑上启动运行时可以执行分布式任务的部署方法。例如,部署装置10可以是电脑的底层软件代码段或者说是操作系统的一部分。
在一些实施方式中,部署装置10可以是计算机设备100的一部分。或者说,计算机设备100包括部署装置10。
在一些实施方式中,部署装置10可以是一定方式组装以具有前述功能的分立元件、或者是以集成电路形式存在具有前述功能的芯片、又或者是在计算机上运行时使得计算机具有前述功能的计算机软件代码段。
在一些实施方式中,作为硬件,部署装置10可以是独立或者作为额外增加的外围元件加装到计算机或者计算机系统。部署装置10也可以集成到计算机或者计算机系统,例如,部署装置10是计算机设备100的一部分时,部署装置10可以集成到处理器20上。
在一些部署装置10是计算机设备100的一部分部分的实施方式中,作为软件,部署装置10对应的代码段可以存储于存储器30上通过处理器20执行实现前述功能。或者说部署装置10包括前述的一个或多个程序,又或者说前述的一个或多个程序包括部署装置10。
在一些实施方式中,计算机可读存储介质40可以是内置在计算机设备100的存储介质,例如可以是存储器30,也可以是能够插拔地插接在计算机设备100的存储介质,例如SD卡等。
需要说明的是,部署装置10可以为Kubernetes集群。主节点12为Kubernetes集群的master节点,子节点14为Kubernetes集群的node节点。
调度程序为node节点中的driver pod,需要说明的是,Pod是Kubernetes集群中的调度的最小单元,pod由master节点分配,每个Pod都含有一定计算资源的CPU和内存的逻辑实体,Pod中有容器,一个容器就类似一台虚拟的计算机,有自己独立的内存,CPU,和文件系统。在Pod运行的过程中,Pod和Pod之间是隔离的,都有自己的独立文件系统,CPU和内存。在Pod的结束时,会释放这些资源,并且容器中运行产生的日志也会随着Pod结束而消失。
第一执行程序和第二执行程序为node节点中的executor Pod。需要说明的是,第一执行程序和第二执行程序相关联,并且,第一和第二仅仅表示两个关联的执行程序运行的先后,第一执行程序在第二执行程序之前启动运行。
例如,以先后顺序进行排序的执行程序中,包括有一号执行程序、二号执行程序、三号执行程序以及四号执行程序。对于二号执行程序和三号执行程序而言,由于二号执行程序在三号执行程序之前启动运行,所以二号执行程序为第一执行程序,三号执行程序为第二执行程序,可以根据二号执行程序的执行结果和相应的执行请求启动三号执行程序。对于三号执行程序以及四号执行程序而言,由于三号执行程序在四号执行程序之前启动运行,所以三号执行程序为第一执行程序,四号执行程序为第二执行程序,可以根据三号执行程序的执行结果和相应的执行请求启动四号执行程序。
调度任务为spark计算框架进行分布式计算任务。调度任务包括有多个相关联的分布式计算子任务,调度任务中子任务的关联关系可以由用户定义。在本申请中,调度任务中的子任务根据彼此之间的关联关系顺序执行,只有当上一个调度任务执行完生成计算结果后,下一个子任务才能执行。例如,子任务包括第一子任务和第二子任务,当第一子任务执行完后并生成计算结果后,才可执行第二子任务。
调度任务由执行程序执行。一个子任务可以由一个或多个执行程序同时执行,执行程序的个数不设限制,例如,执行程序的数量可以为1、2个、3个、5个、8个、10个甚至更多个,执行程序具体地的数量可根据子任务的数据计算量进行选择。例如,在本申请中,一个子任务可以由两个分布在不同的子节点14上的执行程序执行。可以理解的,执行程序的数据计算量越大设置的执行程序也可以越多,如此,可以节省子任务的处理时间,提升子任务的处理效率。
前置关联子任务是指在当前所执行的子任务之前与当前子任务相关联且已经执行生成执行结果的子任务。例如,第一子任务作为第二子任务的前置,在第二子任务之前执行,第一子任务的执行结果用于第二任务。
请进一步地结合图4,具体地,在主节点12接收到调度任务后生成调动请求,控制子节点14部署调度程序,调度程序运行后生成执行请求并发送至主节点12。在主节点12接收到执行请求后,分配子节点14部署第一执行程序,从而第一执行程序运行时能够执行第一子任务。
进一步地,在第一执行程序执行完第一子任务生成执行结果后,调度程序再次生成调度请求并发送至主节点12,进而,由主节点12分配子节点14部署第二执行程序,由第二执行程序执行与第一子任务相关联的第二子任务。并在第二子任务执行完生成执行结果后,由调度程序再次生成调度请求并发送至主节点12,通过主节点12分配子节点14启动以第二子任务相关联的子任务,循环此过程,也即是,当前一个执行程序生成执行结果后,由调度程序根据前一个执行程序生成执行结果向主节点12分配新的子节点14部署后一个执行程序,直至调度任务的子任务全部执行完。如此,避免了调度任务中子任务较多时造成管理混乱。
请结合图8,在某些实施方式中,步骤S16还包括步骤:
S162:从分布式文件系统上获取第一执行程序的执行结果,并根据第一执行程序的执行结果执行第二执行程序。
请进一步参阅图2,在某些实施方式中,部署装置10还包括分布式文件系统(Distributed File System,DSF),分布式文件系统与子节点14连接。步骤S162可以由调度程序实现。或者说,调度程序可用于从分布式文件系统上获取第一执行程序的执行结果,并根据第一执行程序的执行结果执行第二执行程序。
在某些实施方式中,处理器20还可以用于从分布式文件系统上获取第一执行程序的执行结果,并根据第一执行程序的执行结果执行第二执行程序。
相关领域人员可以理解,分布式文件系统是将分布于不同电脑上的文件组合为单一的名称空间,并使得在网络上建立一个单一的、层次化多重文件服务器和服务器共享的工作更为方便的途径。在本申请中,分布式文件系统可以为Hadoop分布式文件系统(HadoopDistributed File System,HDFS),HDFS是指被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
具体而言,执行程序在执行完子任务后生成执行结果后,可将执行结果存储于分布式文件系统中。在第一执行程序生成的执行结果存储于分布式文件系统中后,调度程序可从分布式文件系统获取到执行结果,并根据第一执行程序的执行结果再次启动执行请求,并发送至主节点12,主节点12在接收到执行请求后,则分配子节点14启动第二执行程序以执行第二子任务。
请结合图10,在某些实施方式中,部署方法还包括步骤:
S11:监测第一执行程序的运行状态,以判断第一执行程序是否需要重启。
在某些实施方式中,步骤S11可以调度程序实现,或者说,调度程序还可以用于监测第一执行程序的运行状态,以判断第一执行程序是否需要重启。
在某些实施方式中,处理器20可以用于监测第一执行程序的运行状态,以判断第一执行程序是否需要重启。
可以理解,执行程序在运行过程中,可能出现异常。例如,子节点14的运行内存过高、执行程序在运行时CPU异常或者子节点14响应性能下降等导致执行程序运行异常,进而可能导致无法得到执行结果。因此,需要监测第一执行程序的运行状态,从而判断第一执行程序是否需要重启,若第一执行程序的运行状态出现异常时,重启第一执行程序,如此,保证了后续第二执行程序能够顺利执行,最终完成调度任务。
在某些实施方式中,部署方法还包括:
S13,判断执行结果是否生成;
S15,若执行结果未生成,重新启动第一执行程序以再次执行第一子任务;
S17,在执行结果生成时校验结果文件是否正确。
在某些实施方式中,步骤S13、S15以及S17可以调度程序实现,或者说,调度程序还可以用于判断执行结果是否生成,若执行结果未生成,重新启动第一执行程序以再次执行第一子任务;调度程序还可以用于在执行结果生成时校验结果文件是否正确。
在某些实施方式中,处理器20可以用于判断执行结果是否生成以及若执行结果未生成,重新启动第一执行程序以再次执行第一子任务。处理器20还可以用于在执行结果生成时校验结果文件是否正确。
由于第二执行程序的启动运行是由第一执行程序执行第一子任务后生成的执行结果决定,因此,通过判断执行结果是否生成,并在执行结果生成后对执行结果的结果文件进行校验,以判断结果文件是否正确,若校验成功,则可启动第二执行程序以执行第二子任务,若校验失败,则再次启动第一执行程序执行第一子任务以生成执行结果,进而重新对生成的执行结果的结果文件进行校验,直至校验成功而顺利启动允许第二执行程序来执行第二子任务,如此,能够保证第二执行程序的顺利启动运行从而执行第二子任务。
请参阅图10,在某些实施方式中,调度程序包括应用程序接口(ApplicationProgramming Interface,API),第一执行程序和第二执行程序执行子任务时生成日志,部署方法还包括步骤:
S18:通过应用程序接口获取日志并以使调度程序对日志进行归集处理。
请进一步参阅图2,在某些实施方式中,步骤S18可以由调度程序实现,或者说,调度程序可以用于通过应用程序接口获取日志并以使调度程序对日志进行归集处理。
在某些实施方式中,处理器20还可用于通过应用程序接口获取日志并以使调度程序对日志进行归集处理。
相关领域人员可以理解,应用程序接口又称为应用编程接口,是一组定义、程序及协议的集合,通过应用程序接口可实现计算机软件之间的相互通信。
需要说明的是,第一执行程序和第二执行程序运行过程中还生成日志,而由于当执行程序在子节点14运行结束后,子节点14会释放内存和CPU,使得子节点14中产生的日志也会随着执行程序结束而消失。因此,为了保留一些产生的日志,调度程序设置有应用程序接口,应用程序可包括多个,一个应用程序接口连接一个执行程序,进而在执行程序运行过程中产生日志时,日志可以由应用程序接口获取到,从而调度程序能够对日志进行归集处理。
进一步地,部署装置还包括有存储卷,在调度程序运行过程中,存储卷与调度程序连接。调度程序将归集处理的日志传输至存储卷以对日志进行存储,如此,实现对日志的归集管理,有利于运维人员及时掌握运行情况,给运维人员提供了便利。
更进一步地,在存储卷对日志存储后,调度程序将执行程序删除,使得执行程序进程结束。
另外,还需要说明的是,主节点12也包括应用程序接口,在执行程序运行过程中,调度程序可通过主节点12的应用程序接口监测执行程序对于任务的执行,如此,在调度程序生成日志后,可通过应用程序接口获取到日志。
例如,在一些场景中,数据分析员提交相应的spark任务到Kubernetes集群的主节点12中,主节点12在接收spark任务后,在主节点12接收到调度任务后生成调动请求,控制一个子节点14部署调度程序,调度程序运行后生成执行请求并发送至主节点12。在主节点12接收到执行请求后,分配一个子节点14启动执行程序,进而,再由调度此程序将spark任务发送至执行程序,从而执行程序运行时能够执行spark任务,同时,调度程序还向主节点12发送观察请求,使得主节点12监测执行程序执行spark任务的情况。
进一步地,在主节点12监测到执行程序执行完spark任务并生成日志后,由调度程序通过应用程序接口获取到执行程序的日志,进而将日志导出到存储卷中保存。最后由调度程序向主节点发送结束执行请求,从而将执行程序删除,以结束执行程序的进程,结束任务。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种分布式任务的部署方法,其特征在于,所述部署方法包括:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序,所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动第一执行程序以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
2.如权利要求1所述的部署方法,其特征在于,所述根据所述第一执行程序的执行结果和所述执行请求启动第二执行程序以执行所述子任务中的第二子任务包括:
从分布式文件系统上获取所述第一执行程序的执行结果,并根据所述第一执行程序的执行结果执行所述第二执行程序。
3.如权利要求1所述的部署方法,其特征在于,所述部署方法包括:
监测所述第一执行程序的运行状态,以判断所述第一执行程序是否需要重启。
4.如权利要求1所述的部署方法,其特征在于,所述部署方法还包括:
判断所述执行结果是否生成;
若所述执行结果未生成,重新启动所述第一执行程序以再次执行所述第一子任务;
在所述执行结果生成时校验结果文件是否正确。
5.如权利要求1所述的部署方法,其特征在于,所述第一执行程序以及所述第二执行程序分别在多个子节点执行。
6.如权利要求1所述的部署方法,其特征在于,所述调度程序包括应用程序接口,所述第一执行程序和所述第二执行程序执行所述子任务时生成日志,所述部署方法包括:
通过所述应用程序接口获取所述日志并以使所述调度程序对所述日志进行归集处理。
7.如权利要求6所述的部署方法,其特征在于,所述部署方法还包括:
在所述子任务执行完后,删除所述第一执行程序和所述第二执行程序。
8.一种分布式任务的部署装置,其特征在于,所述部署装置包括主节点和多个子节点,所述子节点连接所述主节点;
其中,所述子节点用于运行调度程序、第一执行程序和第二执行程序;
所述主节点用于:
接收调度任务并根据所述调度任务生成调动请求以启动调度程序,所述调度任务包括多个依次关联的子任务;
接收所述调度程序的执行请求并根据所述执行请求启动所述第一执行程序以执行所述子任务中的第一子任务;和
根据所述第一执行程序的执行结果和所述执行请求启动所述第二执行程序以执行所述子任务中的第二子任务,所述第一子任务是所述第二子任务的前置关联子任务。
9.如权利要求8所述的部署装置,其特征在于,所述部署装置还包括分布式文件系统和存储卷,所述分布式文件系统和所述存储卷与所述子节点连接;所述分布式文件系统用于存储所述第一执行程序和所述第二执行程序的执行结果;所述存储卷用于存储所述第一执行程序和所述第二执行程序生成的日志。
10.一种计算机设备,其特征在于,包括一个或者多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1-7任意一项所述的分布式任务的部署方法的指令。
11.一种包含计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-7中任一项所述的分布式任务的部署方法。
CN202011375428.6A 2020-11-30 2020-11-30 分布式任务的部署方法、装置、计算机设备和存储介质 Pending CN112486502A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011375428.6A CN112486502A (zh) 2020-11-30 2020-11-30 分布式任务的部署方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011375428.6A CN112486502A (zh) 2020-11-30 2020-11-30 分布式任务的部署方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112486502A true CN112486502A (zh) 2021-03-12

Family

ID=74937420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011375428.6A Pending CN112486502A (zh) 2020-11-30 2020-11-30 分布式任务的部署方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112486502A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023165484A1 (zh) * 2022-03-04 2023-09-07 阿里巴巴(中国)有限公司 一种分布式任务的处理方法、分布式系统及第一设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567013A (zh) * 2009-06-02 2009-10-28 阿里巴巴集团控股有限公司 一种etl调度的实现方法及装置
CN103034554A (zh) * 2012-12-30 2013-04-10 焦点科技股份有限公司 一种纠错重启以及自动判断启动的etl调度系统及方法
CN104426716A (zh) * 2013-09-05 2015-03-18 深圳市共进电子股份有限公司 实现tr069测试的方法和系统
CN107748696A (zh) * 2017-09-20 2018-03-02 上海壹账通金融科技有限公司 一种任务调度的方法及终端设备
CN108241539A (zh) * 2018-01-03 2018-07-03 百度在线网络技术(北京)有限公司 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备
CN108647134A (zh) * 2018-05-04 2018-10-12 北京物资学院 一种面向多核架构的任务监测、跟踪及识别方法
CN111309372A (zh) * 2020-01-15 2020-06-19 中国平安财产保险股份有限公司 定时任务执行方法、装置、计算机设备和存储介质
CN111988429A (zh) * 2020-09-01 2020-11-24 深圳壹账通智能科技有限公司 算法调度方法以及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567013A (zh) * 2009-06-02 2009-10-28 阿里巴巴集团控股有限公司 一种etl调度的实现方法及装置
CN103034554A (zh) * 2012-12-30 2013-04-10 焦点科技股份有限公司 一种纠错重启以及自动判断启动的etl调度系统及方法
CN104426716A (zh) * 2013-09-05 2015-03-18 深圳市共进电子股份有限公司 实现tr069测试的方法和系统
CN107748696A (zh) * 2017-09-20 2018-03-02 上海壹账通金融科技有限公司 一种任务调度的方法及终端设备
CN108241539A (zh) * 2018-01-03 2018-07-03 百度在线网络技术(北京)有限公司 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备
CN108647134A (zh) * 2018-05-04 2018-10-12 北京物资学院 一种面向多核架构的任务监测、跟踪及识别方法
CN111309372A (zh) * 2020-01-15 2020-06-19 中国平安财产保险股份有限公司 定时任务执行方法、装置、计算机设备和存储介质
CN111988429A (zh) * 2020-09-01 2020-11-24 深圳壹账通智能科技有限公司 算法调度方法以及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023165484A1 (zh) * 2022-03-04 2023-09-07 阿里巴巴(中国)有限公司 一种分布式任务的处理方法、分布式系统及第一设备

Similar Documents

Publication Publication Date Title
AU2020202180B2 (en) Memory allocation techniques at partially-offloaded virtualization managers
CN108845884B (zh) 物理资源分配方法、装置、计算机设备和存储介质
US9319281B2 (en) Resource management method, resource management device, and program product
US9396031B2 (en) Distributed UIMA cluster computing (DUCC) facility
CN108845954B (zh) 压力测试方法、系统及存储介质
US7844853B2 (en) Methods and apparatus for restoring a node state
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
US8954579B2 (en) Transaction-level health monitoring of online services
US8185905B2 (en) Resource allocation in computing systems according to permissible flexibilities in the recommended resource requirements
EP2851799A1 (en) Fault tolerant batch processing
CN108763089B (zh) 一种测试方法、装置及系统
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
CN108874549B (zh) 资源复用方法、装置、终端和计算机可读存储介质
CN112162856A (zh) Gpu虚拟资源的分配方法、装置、计算机设备和存储介质
CN112256444B (zh) 基于dag的业务处理方法、装置、服务器及存储介质
US20060010133A1 (en) Management of a scalable computer system
CN109062580B (zh) 一种虚拟化环境部署方法和部署装置
CN112486502A (zh) 分布式任务的部署方法、装置、计算机设备和存储介质
US20210149726A1 (en) Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium
CN113626173A (zh) 调度方法、装置及存储介质
CN113608838A (zh) 应用镜像文件的部署方法、装置、计算机设备和存储介质
CN115292176A (zh) 一种压力测试方法、装置、设备及存储介质
CN115114154A (zh) 处理方法、固件测试方法、装置、设备、系统及存储介质
CN113485933A (zh) 自动化测试方法和分布式系统
CN114327673A (zh) 一种任务启动方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination