CN110618869B - 一种资源管理方法、装置及设备 - Google Patents
一种资源管理方法、装置及设备 Download PDFInfo
- Publication number
- CN110618869B CN110618869B CN201910884635.5A CN201910884635A CN110618869B CN 110618869 B CN110618869 B CN 110618869B CN 201910884635 A CN201910884635 A CN 201910884635A CN 110618869 B CN110618869 B CN 110618869B
- Authority
- CN
- China
- Prior art keywords
- information
- task
- flink
- computing task
- resource
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title abstract description 86
- 238000004364 calculation method Methods 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims description 61
- 238000003860 storage Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000006872 improvement Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种资源管理方法、装置及设备。该资源管理方案包括:获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;根据该待处理计算任务信息,生成计算任务资源请求;发送该计算任务资源请求至YARN服务器;接收YARN服务器反馈的计算任务资源信息;根据计算任务资源信息,生成计算任务控制指令;发送计算任务控制指令至YARN服务器,以基于该YARN服务器控制与待处理计算任务信息对应的Flink计算任务的运行状态。
Description
本申请涉及计算机数据处理技术领域,尤其涉及一种资源管理方法、装置及设备。
背景技术
Apache Hadoop YARN(后续简称YARN)是一种通用资源管理系统,可为应用提供统一的资源管理和调度服务。目前,当用户需要在YARN集群中部署Flink计算任务时,需要该用户进入YARN服务器,并在YARN服务器的命令行界面中输入程序指令,以请求Flink计算任务所需的资源。这种资源管理方法,由于需要部署Flink计算任务的用户进入YARN服务器输入程序指令,不仅给用户的操作带来了不便,还会对YARN服务器的安全性产生影响。
基于此,需要提供操作便捷性更好且安全性更高的资源管理方法。
发明内容
有鉴于此,本申请实施例提供了一种资源管理方法、装置及设备,用于解决需要提供操作便捷性更好且安全性更高的资源管理方法的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种资源管理方法,包括:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;
根据所述待处理计算任务信息,生成计算任务资源请求;
发送所述计算任务资源请求至YARN服务器;
接收所述YARN服务器反馈的计算任务资源信息;
根据所述计算任务资源信息,生成计算任务控制指令;
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
本说明书实施例提供的一种资源管理装置,包括:
第一获取模块,用于获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;
资源请求生成模块,用于根据所述待处理计算任务信息,生成计算任务资源请求;
第一发送模块,用于发送所述计算任务资源请求至YARN服务器;
接收模块,用于接收所述YARN服务器反馈的计算任务资源信息;
控制指令生成模块,用于根据所述计算任务资源信息,生成计算任务控制指令;
第二发送模块,用于发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
本说明书实施例提供的一种资源管理设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;
根据所述待处理计算任务信息,生成计算任务资源请求;
发送所述计算任务资源请求至YARN服务器;
接收所述YARN服务器反馈的计算任务资源信息;
根据所述计算任务资源信息,生成计算任务控制指令;
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
本说明书实施例提供的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;
根据所述待处理计算任务信息,生成计算任务资源请求;
发送所述计算任务资源请求至YARN服务器;
接收所述YARN服务器反馈的计算任务资源信息;
根据所述计算任务资源信息,生成计算任务控制指令;
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
当用户需要部署Flink计算任务时,用户可以在资源管理应用的图形界面中输入待处理计算任务信息。该资源管理应用可以基于该待处理计算任务信息生成计算任务资源请求,以向YARN服务器请求资源;该资源管理应用还可以基于请求到的资源生成计算任务控制指令,并将该计算任务控制指令发送至YARN服务器,以基于YARN服务器控制与待处理计算任务信息对应的Flink计算任务的运行状态。该资源管理方法,使得用户可以基于资源管理应用的图形界面发布并管理Flink计算任务,无需用户进入YARN服务器编写针对Flink计算任务的程序控制指令,降低了对任务部署用户的要求,有利于提升用户体验,同时,有利于提升YARN服务器的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种资源管理方法的流程示意图;
图2为本说明书实施例中提供的一种生成计算任务资源请求的实现方式的流程示意图;
图3为本说明书实施例提供的一种资源管理应用的图形界面的示意图;
图4为本说明书实施例提供的对应于图1中方法的一种资源管理装置的结构示意图;
图5为本说明书实施例提供的对应于图1中方法的一种资源管理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Apache Flink(后续简称Flink)是一种分布式流数据流引擎,而Flink on YARN计算任务是指在YARN集群上运行的Flink计算任务。目前,用户在需要部署Flink On Yarn计算任务时,首先,需进入YARN服务器,在YARN服务器的命令行界面中输入资源请求程序指令以获取计算任务所需资源;其次,用户需在Flink应用界面中输入计算任务启动指令,以控制YARN服务器启动Flink On Yarn计算任务。这种资源管理方法,由于需要任务部署用户进入到YARN服务器输入程序控制指令,不仅用户操作不便,且会对YARN服务器的运行安全性产生影响。
基于此,本说明书实施例提供了操作便捷性更好且YARN服务器的安全性更高的资源管理方法。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的一种资源管理方法的流程示意图。从程序角度而言,流程的执行主体即可以是搭载有资源管理应用的终端设备,也可以是终端设备上搭载的资源管理应用程序。
如图1所示,该流程可以包括以下步骤:
步骤101:获取用户在资源管理应用的图形界面中输入的待处理计算任务信息。
在本说明书实施例中,待处理计算任务信息是指与用户所需部署的Flink onYARN计算任务相关的信息。在实际应用中,Flink计算任务的应用场景可以包括但不限于:对实时数据仓库中的数据的清洗、归并等过程,对用户行为或相关事件的实时监控、分析、预警等过程,及实时报表的生成过程等。
在本说明书实施例中,资源管理应用被配置为可以实现Flink应用程序所能实现的各种功能,例如,资源管理应用可以与YARN服务器进行交互,以控制YARN服务器启动或停止Flink计算任务等。或者,资源管理应用还可以对Flink计算任务的存档信息进行管理等。具体的,资源管理应用可以通过集成Flink应用程序而实现Flink应用程序所支持的各个功能。或者,资源管理应用也可以与Flink应用进行交互,通过控制Flink应用的运行,以实现Flink应用程序所支持的各个功能。
在本说明书实施例中,资源管理应用的应用界面为图形界面(简称GUI),图形界面是指采用图形方式显示的用户界面;用户可以通过点击图形界面中的图标,或者在输入栏中输入信息(例如,文本信息)等方式,以控制计算机执行相应指令。而命令行界面(简称CLI)是指用户可以通过键盘输入程序指令,以控制计算机执行相应指令的用户界面。通常而言,图形界面相较于命令行界面更便于用户的操作。
步骤102:根据所述待处理计算任务信息,生成计算任务资源请求。
在本说明书实施例中,资源管理应用可以基于预设规则,对用户输入的待处理计算任务信息进行分析,确定与该待处理计算任务信息对于的Flink计算任务运行时所需的资源;从而生成用于请求该确定出的所需的资源的计算任务资源请求。
步骤103:发送所述计算任务资源请求至YARN服务器。
在本说明书实施例中,计算任务资源请求可以被YARN服务器读取并识别,YARN服务器可以确定该计算任务资源请求所请求的资源,若YARN服务器确定其所对应的YARN集群可提供该计算任务资源请求所请求的资源,则生成计算任务资源信息,该计算任务资源信息用于确定与该待处理计算任务信息对于的Flink计算任务运行时所需的资源。在实际应用中,该计算任务资源请求与用户在YARN服务器的命令行界面中输入的资源请求程序指令的格式可以是相同的,从而便于YARN服务器的读取及识别。YARN服务器与资源管理应用通常可以搭载于不同的终端设备中。
步骤104:接收所述YARN服务器反馈的计算任务资源信息。
步骤105:根据所述计算任务资源信息,生成计算任务控制指令。
步骤106:发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
在本说明书实施例中,计算任务控制指令可以被YARN服务器读取并识别,YARN服务器可以根据该计算任务控制指令控制Flink计算任务的运行状态。在实际应用中,Flink计算任务的运行状态可以包括执行状态及停止状态。当计算任务控制指令为用于启动Flink计算任务的指令时,YARN服务器响应于该计算任务控制指令启动Flink计算任务,以令该Flink计算任务处于执行状态;当计算任务控制指令为用于停止Flink计算任务的指令时,YARN服务器响应于该计算任务控制指令停止执行Flink计算任务,以令该Flink计算任务处于停止状态;从而令用户通过资源管理应用实现对Flink计算任务的发布及管理。
在本实施例中,用户可以基于资源管理应用的图形界面发布并管理Flink计算任务,无需用户进入YARN服务器编写针对Flink计算任务的程序控制指令,降低了对任务部署用户的要求,有利于提升用户体验,同时,有利于提升YARN服务器的安全性。
基于图1中的方法,本说明书实施例还提供了该方法的一些具体实施方式,下面进行说明。
目前,任务部署用户在请求Flink On Yarn计算任务所需的资源时,该所需的资源的数量通常是基于任务部署用户的个人经验确定的,准确性较差,存在资源浪费的问题。
基于此,本说明书实施例中给出了对于步骤102中生成计算任务资源请求的一种实现方式,在该实现方式中,步骤101中用户输入的待处理计算任务信息可以包括:Flink计算任务状态信息、Flink计算任务算子数量信息、Flink计算任务数据源信息及Flink计算任务等级信息。基于该实现方式生成的计算任务资源请求所请求的资源的准确性更高,从而可以降低对YARN集群资源的浪费。
图2为本说明书实施例中给出的一种生成计算任务资源请求的实现方式的流程示意图,如图2所示,该实现方式可以包括如下步骤:
步骤201:根据所述Flink计算任务状态信息,确定所需内存资源信息。
在本说明书实施例中,所述Flink计算任务状态信息可以包括:状态类型、预设状态对象数量及预设状态信息存储量。其中,状态类型可用于确定Flink计算任务的类型,例如,当状态类型为无状态(stateless)时,可以确定该Flink计算任务为无状态计算(stateless computing)任务,即该Flink计算任务在计算主体上不存任何状态信息或特定配置。或者,当状态类型为有状态(stateful)时,可以确定该Flink计算任务为有状态计算(stateful computing)任务,即该Flink计算任务在计算主体上存储状态信息和/或特定配置信息。其中,预设状态对象数量意为用户预设的针对该Flink计算任务的状态信息的最大存储字节数。其中,预设状态信息存储量为用户预设的针对该Flink计算任务的状态信息的最大存储量。
在本说明书实施例中,确定所需内存资源信息,具体可以包括:
根据所述状态类型,判断Flink计算任务是否为有状态计算任务,得到第一判断结果;若否,则将第一预设内存资源信息确定为所需内存资源信息;若是,则确定所述预设状态对象数量所属的预设状态对象数量区间;确定与所述预设状态对象数量区间对应的第二预设内存资源信息;确定所述预设状态信息存储量所属的预设状态信息存储量区间;确定与所述预设状态信息存储量区间对应的第三预设内存资源信息;根据所述第二预设内存资源信息及所述第三预设内存资源信息,确定所需内存资源信息,所述所需内存资源信息为所述第二预设内存资源信息与所述第三预设内存资源信息中对应的资源量较大的信息;所述第二预设内存资源信息对应的资源量及所述第三预设内存资源信息对应的资源量均大于所述第一预设内存资源信息对应的资源量。
在本说明书实施例中,资源管理应用中可以预先存储有多个预设内存资源信息,各个预设内存资源信息对应的资源量不同。当根据状态类型确定Flink计算任务为无状态计算任务时,意为无需存储该Flink计算任务的状态信息,此时,Flink计算任务所需的资源量较小,可以直接将对应的资源量最小的预设内存资源信息(即第一预设内存资源信息)确定为所需内存资源信息,而无需根据预设状态对象数量及预设状态信息存储量确定所需内存资源信息。
在本说明书实施例中,当根据状态类型确定Flink计算任务为有状态计算任务时,意为需存储该Flink计算任务的状态信息。此时,需根据预设状态对象数量及预设状态信息存储量确定所需内存资源信息。
在实际应用中,资源管理应用中可以预存有多个预设状态对象数量区间,每个预设状态对象数量区间对应于一个预设内存资源信息,各个预设状态对象数量区间所对应的预设内存资源信息所指示的资源量不同。例如,假定,资源管理应用中预存有2个预设状态对象数量区间,分别为[0,5000000]及[5000001,10000000],单位为字节个数;其中,[0,5000000]这一预设区间对应的预设内存资源信息所指示的资源量为:TaskManager内存为2G、JobManager内存为8G;[5000001,10000000]这一预设区间对应的预设内存资源信息所指示的资源量为:TaskManager内存为3G、JobManager内存为16G。当用户输入的预设状态对象数量为6000000(字节)时,可知,该预设状态对象数量所属的预设状态对象数量区间为[5000001,10000000];确定出的第二预设内存资源信息用于指示TaskManager内存为3G、JobManager内存为16G的资源。
在实际应用中,资源管理应用中还可以预存有多个预设状态信息存储量区间,每个预设状态信息存储量区间对应于一个预设内存资源信息,各个预设状态信息存储量区间所对应的预设内存资源信息所指示的资源量不同。例如,假定,资源管理应用中预存有2个预设状态信息存储量区间,分别为[0,200]及[201,500],单位为兆(MByte);其中,[0,200]这一预设区间对应的预设内存资源信息所指示的资源量为:TaskManager内存为2G、JobManager内存为8G;[201,500]这一预设区间对应的预设内存资源信息所指示的资源量为:TaskManager内存为3G、JobManager内存为16G。当用户输入的预设状态信息存储量为100(M)时,可知,该预设状态对象数量所属的预设状态对象数量区间为[0,200];确定出的第三预设内存资源信息用于指示TaskManager内存为2G、JobManager内存为8G的资源。
假定,用户输入的预设状态对象数量为6000000(字节),且用户输入的预设状态信息存储量为100(M),可知,确定出的第二预设内存资源信息所指示的资源量大于第三预设内存资源信息所指示的资源量,为保证Flink计算任务的平稳运行,需将第二预设内存资源信息确定为所需内存资源信息。
步骤202:根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息。
在本说明书实施例中,所述Flink计算任务算子数量信息可以包括:Flink计算任务算子总数;该Flink计算任务算子总数是用户需部署的Flink计算任务的算子总数。所述Flink计算任务数据源信息可以包括:消息中间件的链接地址信息及订阅主题信息;其中,链接地址信息用于与Flink计算任务的数据源(即消息中间件)建立连接,订阅主题信息用于指示Flink计算任务所需订阅的消息中间件处的主题(Topic)。
在本说明书实施例中,确定所需TaskManager信息,具体可以包括:
根据所述链接地址信息,对所述订阅主题信息对应的订阅主题中的数据进行流量监控,得到预估每秒查询率;根据所述Flink计算任务状态信息,确定中央处理器的预设最大每秒查询率;根据所述预估每秒查询率与所述预设最大每秒查询率的比值,确定所需TaskManager数量;根据所述Flink计算任务算子总数与所述所需TaskManager数量的比值,确定每个TaskManager的slots数量。
在本说明书实施例中,资源管理应用可以基于链接地址信息与消息中间件建立连接,并对订阅主题信息所对应的订阅主题中的数据进行消费测试,得到预估每秒查询率;该预估每秒查询率意为预估的Flink计算任务对订阅主题信息所对应的订阅主题中的数据进行消费时的每秒查询率(Queries-per-second)。
在本说明书实施例中,由于单个CPU运行不同类型的Flink计算任务时所能承担的最大每秒查询率是不同的,因此,可以根据Flink计算任务状态信息中的状态类型,判断Flink计算任务是否为有状态计算任务,若是,则确定中央处理器的预设最大每秒查询率为第一预设最大每秒查询率;若否,则确定中央处理器的预设最大每秒查询率为第二预设最大每秒查询率;其中,第一预设最大每秒查询率小于第二预设最大每秒查询率。例如,当Flink计算任务为有状态计算任务时,可以将单个CPU可以承担的最大每秒查询率设置为10000QPS,而当Flink计算任务为无状态计算任务时,可以将单个CPU可以承担的最大每秒查询率设置为50000QPS。通过根据Flink计算任务状态信息,确定出的中央处理器的预设最大每秒查询率的准确性更高。
在本说明书实施例中,可以将确定出的预估每秒查询率与预设最大每秒查询率的比值,进行进一取整,从而得到所需TaskManager数量。例如,假定确定出的预估每秒查询率为10000QPS,而确定出的预设最大每秒查询率为50000QPS,则10000÷50000=0.2,对0.2进行进一取整,得到所需TaskManager数量为1。
在实际应用中,由于消息中间件处的订阅主题中写入的消息数量,与用户行为习惯等因素之间是具有一定的联系。例如,在每天的凌晨时段,由于用户通常处于睡眠状态,因此,消息中间件的订阅主题中写入的消息数量处于低谷期,进而导致在凌晨时段内测得的预估每秒查询率低于日常平均每秒查询率。因此,可以根据实际需求,确定不同时间段内测得的预估每秒查询率对所需TaskManager数量的影响权重;通过计算预估每秒查询率与预估每秒查询率的影响权重的乘积同预设最大每秒查询率的比值,得到所需TaskManager数量。例如,假定,采用24小时制时间表示方法,在0:00至5:00期间,预估每秒查询率的影响权重为7,在5:00至7:00期间,预估每秒查询率的影响权重为1;在7:00至8:00期间,预估每秒查询率的影响权重为0.5;在8:00至24:00期间,预估每秒查询率的影响权重为1。假定,在4:00时测得预估每秒查询率为10000QPS,确定出的预设最大每秒查询率为50000QPS,所需TaskManager数量=10000×7÷50000≈2。
在本说明书实施例中,还可以将用户输入的Flink计算任务算子总数与确定出的所需TaskManager数量的比值同1的和,进行进一取整,得到每个TaskManager的slots数量。例如,假定Flink计算任务算子总数为8,确定出的所需TaskManager数量为3,则每个TaskManager的slots数量=8÷3+1≈4。
步骤203:根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,所述计算任务资源请求用于请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源。
在本说明书实施例中,用户可以通过资源管理应用实现对至少一个YARN集群中的资源的管理。在实际应用中,可以将对应的资源量大于等于预设值的YARN集群确定为核心集群,并将对应的资源量小于预设值的YARN集群确定为非核心YARN集群。
在实际应用中,用户可以根据Flink计算任务的重要性,确定Flink计算任务等级信息,并将该Flink计算任务等级信息输入至资源管理应用的图形界面中。为保证重要性较高的Flink计算任务及有状态Flink计算任务的运行稳定性,资源管理应用可以控制重要性较高的Flink计算任务及有状态Flink计算任务运行于核心集群中。
具体的,可以根据所述Flink计算任务等级信息和所述Flink计算任务状态信息,从YARN集群集合中,确定目标YARN集群;所述YARN集群集合中包括核心YARN集群及非核心YARN集群,所述核心YARN集群的资源量大于所述非核心YARN集群的资源量。例如,当Flink计算任务等级信息所指示的任务等级高于预设等级,或者,根据Flink计算任务状态信息确定Flink计算任务为有状态计算任务时,可以将目标YARN集群确定为核心YARN集群等。
生成用于向所述目标YARN集群请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源的计算任务资源请求。
在本说明书实施例中提供的生成计算任务资源请求的这一实现方式中,可以根据预设规则,对用户输入的Flink计算任务状态信息、Flink计算任务算子数量信息、Flink计算任务数据源信息及Flink计算任务等级信息进行处理,生成Flink计算任务所需的内存资源信息、所需建立的TaskManager数量、每个TaskManager的slots数量及运行Flink计算任务的YARN集群,无需用户基于个人经验确定Flink计算任务所需的资源,且确定出的Flink计算任务所需的资源的准确性更高,从而可以降低对YARN集群资源的浪费。
在本说明书实施例中,用户在资源管理应用的图形界面中输入的待处理计算任务信息还可以包括:JAR(JavaArchive)文件;该JAR文件可以是开发人员对flink计算任务代码进行打包后生成的JAR包。
步骤104:接收所述YARN服务器反馈的计算任务资源信息之后,还可以包括:
将所述JAR文件发送至所述计算任务资源信息所指示的文件存储区域,以便于控制与所述JAR文件相对应的Flink计算任务的运行状态。
在本说明书实施例中,用户可以先将JAR文件先上传至资源管理应用,该资源管理应用在请求到YARN资源后,可以将预先接收的JAR文件上传至请求到的YARN资源所指示的存储区域,从而令用户仅需输入一次待处理任务的相关信息即可,减少了用户操作步骤,有利于提升用户体验。
在本说明书实施例中,资源管理应用的图形界面中可以包含多个功能图标,用户可以通过触发功能图标,以控制资源管理应用执行相应指令。图3为本说明书实施例提供的一种资源管理应用的图形界面的示意图,如图3所示,资源管理应用的图形界面31中包括:计算任务创建图标301、待处理计算任务信息输入图标302、请求资源图标303、启动计算任务图标304、停止计算任务图标305及存档管理图标306等。
在本说明书实施例中,当用户点击计算任务创建图标301后,资源管理应用可以为用户分配一个唯一计算任务标识,并将用户后续发布的计算任务与该唯一计算任务标识建立关联关系,从而令用户可以识别本次建立的计算任务,以便于后续对计算任务的管理。
在本说明书实施例中,当用户点击待处理计算任务信息输入图标302后,资源管理应用的图形界面中可以显示多个信息输入框,以便于用户在对应的信息输入框内输入各个待处理计算任务信息。用户还可以点击请求资源图标303,以控制资源管理应用向YARN服务器请求与用户输入的待处理计算任务信息对应的资源。
在本说明书实施例中,步骤106:发送所述计算任务控制指令至所述YARN服务器之前,还可以包括:获取第一触发操作,所述第一触发操作为用户对所述图形界面中的启动计算任务图标304的触发操作。
对应的,步骤106具体可以包括:响应于所述第一触发操作,发送计算任务启动控制指令至所述YARN服务器,所述计算任务启动控制指令用于指示所述YARN服务器启动所述待处理计算任务信息对应的Flink计算任务。在实际应用中,该计算任务启动控制指令的格式与用户通过Flink应用向YARN服务器发送的用于启动JobMamager及TaskManager的指令的格式可以是相同的,从而便于YARN服务器对计算任务启动控制指令的读取、识别及执行。
在本说明书实施例中,所述发送计算任务启动控制指令至所述YARN服务器之后,还可以包括:
获取第二触发操作,所述第二触发操作是用户对所述图形界面中的停止计算任务图标305的触发操作。
响应于所述第二触发操作,生成计算任务停止控制指令。
发送所述计算任务停止控制指令至所述YARN服务器,所述计算任务停止控制指令用于指示所述YARN服务器停止执行所述Flink计算任务。在实际应用中,该计算任务启动控制指令的格式与用户通过Flink应用向YARN服务器发送的用于停止运行JobMamager及TaskManager的指令的格式可以是相同的,从而便于YARN服务器对计算任务停止控制指令的读取、识别及执行。
在本说明书实施例中,步骤106:发送所述计算任务控制指令至所述YARN服务器之后,还可以包括:
获取用户对所述图形界面中的存档管理图标306的触发操作。
响应于所述触发操作,生成用于管理所述Flink计算任务对应的存档信息的图形界面。
在实际应用中,由于资源管理应用可以集成Flink应用程序,或者控制Flink应用程序的运行,因此,可以通过Flink应用程序对Flink计算任务的存档信息进行采集及存储。当用户触发存档管理图标306后,资源管理应用可以调用该Flink应用程序采集的存档信息,并生成用于用户进行存档管理的图形界面,该图形界面中可以包含存档查询功能选项、存档删除功能选项等。
在本说明书实施例中,待处理计算任务信息可以包括Flink计算任务数据源信息,步骤106:发送所述计算任务控制指令至所述YARN服务器之后,还可以包括:
获取所述Flink计算任务对所述Flink计算任务数据源信息所对应的数据源处的数据的消费状态信息。
根据所述消费状态信息,确定所述Flink计算任务的当前运行状态。
当所述当前运行状态表示所述Flink计算任务运行异常时,在所述图形界面中生成提示信息,所述提示信息用于提示所述Flink计算任务运行异常。
在本说明书实施例中,Flink计算任务数据源信息所对应的数据源可以为消息中间件,例如,Kafka、RabbitMQ等。当资源管理应用获取的消费状态信息表示Flink计算任务未进行消息消费的持续时长已经超过预设时长时,可以确定Flink计算任务已经停止运行,该Flink计算任务运行异常,此时,可以在资源管理应用的图形界面中生成提示信息,以提醒用户对运行异常的Flink计算任务进行处理,从而有利于提升Flink计算任务的运行稳定性。
在本说明书实施例中,由于资源管理应用集成或控制的Flink应用程序也可以监控Flink计算任务的运行状态,当Flink应用程序监测到Flink计算任务运行异常时,也可以在资源管理应用的图形界面中生成提示信息,以提醒用户对运行异常的Flink计算任务进行处理,从而有利于提升Flink计算任务的运行稳定性。
基于同样的思路,本说明书实施例还提供了与图1中方法对应的装置。图4为本说明书实施例提供的对应于图1中方法的一种资源管理装置的结构示意图。如图4所示,该装置应用于终端设备,可以包括:
第一获取模块401,用于获取用户在资源管理应用的图形界面中输入的待处理计算任务信息。
资源请求生成模块402,用于根据所述待处理计算任务信息,生成计算任务资源请求。
第一发送模块403,用于发送所述计算任务资源请求至YARN服务器。
接收模块404,用于接收所述YARN服务器反馈的计算任务资源信息。
控制指令生成模块405,用于根据所述计算任务资源信息,生成计算任务控制指令。
第二发送模块406,用于发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
在本说明书实施例中,所述待处理计算任务信息包括:Flink计算任务状态信息、Flink计算任务算子数量信息及Flink计算任务数据源信息;
所述资源请求生成模块402,可以包括:
第一确定单元,用于根据所述Flink计算任务状态信息,确定所需内存资源信息。
第二确定单元,用于根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息。
资源请求生成单元,用于根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,所述计算任务资源请求用于请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源。
在本说明书实施例中,所述Flink计算任务状态信息可以包括:状态类型、预设状态对象数量及预设状态信息存储量;所述第一确定单元,具体用于:
根据所述状态类型,判断Flink计算任务是否为有状态计算任务,得到第一判断结果。若否,则将第一预设内存资源信息确定为所需内存资源信息。若是,则确定所述预设状态对象数量所属的预设状态对象数量区间。确定与所述预设状态对象数量区间对应的第二预设内存资源信息。确定所述预设状态信息存储量所属的预设状态信息存储量区间。确定与所述预设状态信息存储量区间对应的第三预设内存资源信息。根据所述第二预设内存资源信息及所述第三预设内存资源信息,确定所需内存资源信息,所述所需内存资源信息为所述第二预设内存资源信息与所述第三预设内存资源信息中对应的资源量较大的信息;所述第二预设内存资源信息对应的资源量及所述第三预设内存资源信息对应的资源量均大于所述第一预设内存资源信息对应的资源量。
在本说明书实施例中,所述Flink计算任务算子数量信息可以包括:Flink计算任务算子总数,所述Flink计算任务数据源信息可以包括:消息中间件的链接地址信息及订阅主题信息。所述第二确定单元,具体可以用于:
根据所述链接地址信息,对所述订阅主题信息对应的订阅主题中的数据进行流量监控,得到预估每秒查询率。根据所述Flink计算任务状态信息,确定中央处理器的预设最大每秒查询率。根据所述预估每秒查询率与所述预设最大每秒查询率的比值,确定所需TaskManager数量。根据所述Flink计算任务算子总数与所述所需TaskManager数量的比值,确定每个TaskManager的slots数量。
在本说明书实施例中,所述待处理计算任务信息还可以包括:Flink计算任务等级信息;所述资源请求生成单元,具体可以用于:
根据所述Flink计算任务等级信息和所述Flink计算任务状态信息,从YARN集群集合中,确定目标YARN集群;所述YARN集群集合中包括核心YARN集群及非核心YARN集群,所述核心YARN集群的资源量大于所述非核心YARN集群的资源量;生成用于向所述目标YARN集群请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源的计算任务资源请求。
在本说明书实施例中,所述待处理计算任务信息包括Flink计算任务数据源信息,所述装置还可以包括:
第二获取模块,用于获取所述Flink计算任务对所述Flink计算任务数据源信息所对应的数据源处的数据的消费状态信息。
确定模块,用于根据所述消费状态信息,确定所述Flink计算任务的当前运行状态。
提示信息生成模块,用于当所述当前运行状态表示所述Flink计算任务运行异常时,在所述图形界面中生成提示信息,所述提示信息用于提示所述Flink计算任务运行异常。
在本说明书实施例中,所述待处理计算任务信息还可以包括:JAR文件;该装置还可以包括:
第三发送模块,用于将所述JAR文件发送至所述计算任务资源信息所指示的文件存储区域,以便于控制与所述JAR文件相对应的Flink计算任务的运行状态。
在本说明书实施例中,该装置还可以包括:第一触发操作获取模块,用于获取第一触发操作,所述第一触发操作为用户对所述图形界面中的启动计算任务图标的触发操作。
对应的,第二发送模块406具体可以用于:响应于所述第一触发操作,发送计算任务启动控制指令至所述YARN服务器,所述计算任务启动控制指令用于指示所述YARN服务器启动所述待处理计算任务信息对应的Flink计算任务。
在本说明书实施例中,该装置还可以包括:第二触发操作获取模块,用于获取第二触发操作,所述第二触发操作是用户对所述图形界面中的停止计算任务图标的触发操作。
计算任务停止控制指令生成模块,用于响应于所述第二触发操作,生成计算任务停止控制指令。
第四发送模块,用于发送所述计算任务停止控制指令至所述YARN服务器,所述计算任务停止控制指令用于指示所述YARN服务器停止执行所述Flink计算任务。
在本说明书实施例中,该装置还可以包括:
目标触发操作获取模块,用于获取用户对所述图形界面中的存档管理图标的触发操作。
目标图形截面生成模块,用于响应于所述触发操作,生成用于管理所述Flink计算任务对应的存档信息的图形界面。
基于同样的思路,本说明书实施例还提供了与图1中方法对应的设备。图5为本说明书实施例提供的对应于图1中方法的一种资源管理设备的结构示意图。如图5所示,该设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息。
根据所述待处理计算任务信息,生成计算任务资源请求。
发送所述计算任务资源请求至YARN服务器。
接收所述YARN服务器反馈的计算任务资源信息。
根据所述计算任务资源信息,生成计算任务控制指令。
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
基于同样的思路,本说明书实施例还提供了与图1中方法对应的计算机可读存储介质。该计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息。
根据所述待处理计算任务信息,生成计算任务资源请求。
发送所述计算任务资源请求至YARN服务器。
接收所述YARN服务器反馈的计算任务资源信息。
根据所述计算任务资源信息,生成计算任务控制指令。
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,应包含在本申请的权利要求范围之内。
Claims (14)
1.一种资源管理方法,其特征在于,包括:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;所述待处理计算任务信息包括:Flink计算任务状态信息、Flink计算任务算子数量信息及Flink计算任务数据源信息;其中,所述Flink计算任务算子数量信息包括:Flink计算任务算子总数,所述Flink计算任务数据源信息包括:消息中间件的链接地址信息及订阅主题信息;
根据所述待处理计算任务信息,生成计算任务资源请求;
发送所述计算任务资源请求至YARN服务器;
接收所述YARN服务器反馈的计算任务资源信息;
根据所述计算任务资源信息,生成计算任务控制指令;
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态;
所述根据所述待处理计算任务信息,生成计算任务资源请求,具体包括:
根据所述Flink计算任务状态信息,确定所需内存资源信息;
根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息;
根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,所述计算任务资源请求用于请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源;
其中,所述根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息,具体包括:
根据所述链接地址信息,对所述订阅主题信息对应的订阅主题中的数据进行流量监控,得到预估每秒查询率;
根据所述Flink计算任务状态信息,确定中央处理器的预设最大每秒查询率;
根据所述预估每秒查询率与所述预设最大每秒查询率的比值,确定所需TaskManager数量;
根据所述Flink计算任务算子总数与所述所需TaskManager数量的比值,确定每个TaskManager的slots数量。
2.如权利要求1所述的方法,其特征在于,所述Flink计算任务状态信息包括:状态类型、预设状态对象数量及预设状态信息存储量;
所述根据所述Flink计算任务状态信息,确定所需内存资源信息,具体包括:
根据所述状态类型,判断Flink计算任务是否为有状态计算任务,得到第一判断结果;
若否,则将第一预设内存资源信息确定为所需内存资源信息;
若是,则确定所述预设状态对象数量所属的预设状态对象数量区间;
确定与所述预设状态对象数量区间对应的第二预设内存资源信息;
确定所述预设状态信息存储量所属的预设状态信息存储量区间;
确定与所述预设状态信息存储量区间对应的第三预设内存资源信息;
根据所述第二预设内存资源信息及所述第三预设内存资源信息,确定所需内存资源信息,所述所需内存资源信息为所述第二预设内存资源信息与所述第三预设内存资源信息中对应的资源量较大的信息;所述第二预设内存资源信息对应的资源量及所述第三预设内存资源信息对应的资源量均大于所述第一预设内存资源信息对应的资源量。
3.如权利要求1所述的方法,其特征在于,所述待处理计算任务信息还包括:Flink计算任务等级信息;
所述根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,具体包括:
根据所述Flink计算任务等级信息和所述Flink计算任务状态信息,从YARN集群集合中,确定目标YARN集群;所述YARN集群集合中包括核心YARN集群及非核心YARN集群,所述核心YARN集群的资源量大于所述非核心YARN集群的资源量;
生成用于向所述目标YARN集群请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源的计算任务资源请求。
4.如权利要求1所述的方法,其特征在于,所述待处理计算任务信息还包括:JAR文件;
所述接收所述YARN服务器反馈的计算任务资源信息之后,还包括:
将所述JAR文件发送至所述计算任务资源信息所指示的文件存储区域,以便于控制与所述JAR文件相对应的Flink计算任务的运行状态。
5.如权利要求1所述的方法,其特征在于,所述发送所述计算任务控制指令至所述YARN服务器之前,还包括:
获取第一触发操作,所述第一触发操作为用户对所述图形界面中的启动计算任务图标的触发操作;
所述发送所述计算任务控制指令至所述YARN服务器,具体包括:
响应于所述第一触发操作,发送计算任务启动控制指令至所述YARN服务器,所述计算任务启动控制指令用于指示所述YARN服务器启动所述待处理计算任务信息对应的Flink计算任务。
6.如权利要求5所述的方法,其特征在于,所述发送计算任务启动控制指令至所述YARN服务器之后,还包括:
获取第二触发操作,所述第二触发操作是用户对所述图形界面中的停止计算任务图标的触发操作;
响应于所述第二触发操作,生成计算任务停止控制指令;
发送所述计算任务停止控制指令至所述YARN服务器,所述计算任务停止控制指令用于指示所述YARN服务器停止执行所述Flink计算任务。
7.如权利要求1所述的方法,其特征在于,所述待处理计算任务信息包括Flink计算任务数据源信息,所述发送所述计算任务控制指令至所述YARN服务器之后,还包括:
获取所述Flink计算任务对所述Flink计算任务数据源信息所对应的数据源处的数据的消费状态信息;
根据所述消费状态信息,确定所述Flink计算任务的当前运行状态;
当所述当前运行状态表示所述Flink计算任务运行异常时,在所述图形界面中生成提示信息,所述提示信息用于提示所述Flink计算任务运行异常。
8.如权利要求1所述的方法,其特征在于,所述发送所述计算任务控制指令至所述YARN服务器之后,还包括:
获取用户对所述图形界面中的存档管理图标的触发操作;
响应于所述触发操作,生成用于管理所述Flink计算任务对应的存档信息的图形界面。
9.一种资源管理装置,其特征在于,包括:
第一获取模块,用于获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;所述待处理计算任务信息包括:Flink计算任务状态信息、Flink计算任务算子数量信息及Flink计算任务数据源信息;其中,所述Flink计算任务算子数量信息包括:Flink计算任务算子总数,所述Flink计算任务数据源信息包括:消息中间件的链接地址信息及订阅主题信息;
资源请求生成模块,用于根据所述待处理计算任务信息,生成计算任务资源请求;
第一发送模块,用于发送所述计算任务资源请求至YARN服务器;
接收模块,用于接收所述YARN服务器反馈的计算任务资源信息;
控制指令生成模块,用于根据所述计算任务资源信息,生成计算任务控制指令;
第二发送模块,用于发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态;
其中,所述资源请求生成模块,包括:
第一确定单元,用于根据所述Flink计算任务状态信息,确定所需内存资源信息;
第二确定单元,用于根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息;
资源请求生成单元,用于根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,所述计算任务资源请求用于请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源
所述第二确定单元,具体用于:
根据所述链接地址信息,对所述订阅主题信息对应的订阅主题中的数据进行流量监控,得到预估每秒查询率;
根据所述Flink计算任务状态信息,确定中央处理器的预设最大每秒查询率;
根据所述预估每秒查询率与所述预设最大每秒查询率的比值,确定所需TaskManager数量;
根据所述Flink计算任务算子总数与所述所需TaskManager数量的比值,确定每个TaskManager的slots数量。
10.如权利要求9所述的装置,其特征在于,所述Flink计算任务状态信息包括:状态类型、预设状态对象数量及预设状态信息存储量;
所述第一确定单元,具体用于:
根据所述状态类型,判断Flink计算任务是否为有状态计算任务,得到第一判断结果;
若否,则将第一预设内存资源信息确定为所需内存资源信息;
若是,则确定所述预设状态对象数量所属的预设状态对象数量区间;
确定与所述预设状态对象数量区间对应的第二预设内存资源信息;
确定所述预设状态信息存储量所属的预设状态信息存储量区间;
确定与所述预设状态信息存储量区间对应的第三预设内存资源信息;
根据所述第二预设内存资源信息及所述第三预设内存资源信息,确定所需内存资源信息,所述所需内存资源信息为所述第二预设内存资源信息与所述第三预设内存资源信息中对应的资源量较大的信息;所述第二预设内存资源信息对应的资源量及所述第三预设内存资源信息对应的资源量均大于所述第一预设内存资源信息对应的资源量。
11.如权利要求9所述的装置,其特征在于,所述待处理计算任务信息还包括:Flink计算任务等级信息;
所述资源请求生成单元,具体用于:
根据所述Flink计算任务等级信息和所述Flink计算任务状态信息,从YARN集群集合中,确定目标YARN集群;所述YARN集群集合中包括核心YARN集群及非核心YARN集群,所述核心YARN集群的资源量大于所述非核心YARN集群的资源量;
生成用于向所述目标YARN集群请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源的计算任务资源请求。
12.如权利要求9所述的装置,其特征在于,所述待处理计算任务信息包括Flink计算任务数据源信息,所述装置还包括:
第二获取模块,用于获取所述Flink计算任务对所述Flink计算任务数据源信息所对应的数据源处的数据的消费状态信息;
确定模块,用于根据所述消费状态信息,确定所述Flink计算任务的当前运行状态;
提示信息生成模块,用于当所述当前运行状态表示所述Flink计算任务运行异常时,在所述图形界面中生成提示信息,所述提示信息用于提示所述Flink计算任务运行异常。
13.一种资源管理设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;所述待处理计算任务信息包括:Flink计算任务状态信息、Flink计算任务算子数量信息及Flink计算任务数据源信息;其中,所述Flink计算任务算子数量信息包括:Flink计算任务算子总数,所述Flink计算任务数据源信息包括:消息中间件的链接地址信息及订阅主题信息;
根据所述待处理计算任务信息,生成计算任务资源请求;
发送所述计算任务资源请求至YARN服务器;
接收所述YARN服务器反馈的计算任务资源信息;
根据所述计算任务资源信息,生成计算任务控制指令;
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态;
所述根据所述待处理计算任务信息,生成计算任务资源请求,具体包括:
根据所述Flink计算任务状态信息,确定所需内存资源信息;
根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息;
根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,所述计算任务资源请求用于请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源;
其中,所述根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息,具体包括:
根据所述链接地址信息,对所述订阅主题信息对应的订阅主题中的数据进行流量监控,得到预估每秒查询率;
根据所述Flink计算任务状态信息,确定中央处理器的预设最大每秒查询率;
根据所述预估每秒查询率与所述预设最大每秒查询率的比值,确定所需TaskManager数量;
根据所述Flink计算任务算子总数与所述所需TaskManager数量的比值,确定每个TaskManager的slots数量。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
获取用户在资源管理应用的图形界面中输入的待处理计算任务信息;所述待处理计算任务信息包括:Flink计算任务状态信息、Flink计算任务算子数量信息及Flink计算任务数据源信息;其中,所述Flink计算任务算子数量信息包括:Flink计算任务算子总数,所述Flink计算任务数据源信息包括:消息中间件的链接地址信息及订阅主题信息;
根据所述待处理计算任务信息,生成计算任务资源请求;
发送所述计算任务资源请求至YARN服务器;
接收所述YARN服务器反馈的计算任务资源信息;
根据所述计算任务资源信息,生成计算任务控制指令;
发送所述计算任务控制指令至所述YARN服务器,以便于基于所述YARN服务器控制所述待处理计算任务信息对应的Flink计算任务的运行状态;
所述根据所述待处理计算任务信息,生成计算任务资源请求,具体包括:
根据所述Flink计算任务状态信息,确定所需内存资源信息;
根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息;
根据所述所需内存资源信息及所述所需TaskManager信息,生成计算任务资源请求,所述计算任务资源请求用于请求与所述所需内存资源信息及所述所需TaskManager信息相对应的资源;
其中,所述根据所述Flink计算任务算子数量信息及所述Flink计算任务数据源信息,确定所需TaskManager信息,具体包括:
根据所述链接地址信息,对所述订阅主题信息对应的订阅主题中的数据进行流量监控,得到预估每秒查询率;
根据所述Flink计算任务状态信息,确定中央处理器的预设最大每秒查询率;
根据所述预估每秒查询率与所述预设最大每秒查询率的比值,确定所需TaskManager数量;
根据所述Flink计算任务算子总数与所述所需TaskManager数量的比值,确定每个TaskManager的slots数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884635.5A CN110618869B (zh) | 2019-09-19 | 2019-09-19 | 一种资源管理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884635.5A CN110618869B (zh) | 2019-09-19 | 2019-09-19 | 一种资源管理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110618869A CN110618869A (zh) | 2019-12-27 |
CN110618869B true CN110618869B (zh) | 2022-09-23 |
Family
ID=68923466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910884635.5A Active CN110618869B (zh) | 2019-09-19 | 2019-09-19 | 一种资源管理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618869B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930589B (zh) * | 2020-07-02 | 2021-07-27 | 上海微亿智造科技有限公司 | 流式任务自动化监控系统及方法 |
CN111930561B (zh) * | 2020-07-02 | 2021-07-27 | 上海微亿智造科技有限公司 | 流式任务自动化监控告警重启系统及方法 |
CN111880922A (zh) * | 2020-08-07 | 2020-11-03 | 北京达佳互联信息技术有限公司 | 并发任务的处理方法、装置及设备 |
CN116302452B (zh) * | 2023-05-18 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 作业调度方法、系统、装置、通信设备及存储介质 |
CN116841649B (zh) * | 2023-08-28 | 2023-12-08 | 杭州玳数科技有限公司 | 一种基于flink on yarn的热重启方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146592B2 (en) * | 2015-09-18 | 2018-12-04 | Salesforce.Com, Inc. | Managing resource allocation in a stream processing framework |
CN110069335A (zh) * | 2019-05-07 | 2019-07-30 | 江苏满运软件科技有限公司 | 任务处理系统、方法、计算机设备和存储介质 |
CN110231991B (zh) * | 2019-05-31 | 2022-03-08 | 新华三大数据技术有限公司 | 一种任务分配方法、装置、电子设备及可读存储介质 |
-
2019
- 2019-09-19 CN CN201910884635.5A patent/CN110618869B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110618869A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618869B (zh) | 一种资源管理方法、装置及设备 | |
CN108228672B (zh) | 一种元数据迁移方法、装置、系统及设备 | |
CN107451147B (zh) | 一种kafka集群动态切换的方法和装置 | |
CN107491346B (zh) | 一种应用的任务处理方法、装置及系统 | |
CN109739627B (zh) | 任务的调度方法、电子设备及介质 | |
CN110971430B (zh) | 自动化扩容缩容的控制方法、装置、存储介质及处理器 | |
CN111045901A (zh) | 容器的监控方法、装置、存储介质和电子设备 | |
CN110427258B (zh) | 基于云平台的资源调度控制方法及装置 | |
CN108243032B (zh) | 一种服务等级信息的获取方法、装置及设备 | |
CN108845876B (zh) | 一种业务分配的方法及装置 | |
CN111782409B (zh) | 任务处理、风险识别任务处理方法、装置及电子设备 | |
CN117075930B (zh) | 一种计算框架管理系统 | |
CN116305298B (zh) | 一种算力资源管理方法、装置、存储介质及电子设备 | |
CN116627333A (zh) | 日志缓存方法、装置、电子设备及计算机可读存储介质 | |
CN116737345A (zh) | 分布式任务处理系统及方法、装置、存储介质以及设备 | |
CN114281069A (zh) | 一种无人驾驶设备的控制方法及装置 | |
CN112559565A (zh) | 一种异常检测方法、系统及装置 | |
CN110908824A (zh) | 一种故障识别方法、装置及设备 | |
CN110968406B (zh) | 处理任务的方法、装置、存储介质和处理器 | |
CN116204277A (zh) | 业务容器扩缩容调整方法、装置、存储介质及电子设备 | |
CN116594752A (zh) | 流程调度方法、装置、设备、介质和程序产品 | |
CN111857836A (zh) | 服务器开机管理系统、方法及装置 | |
CN114860377A (zh) | 一种针对容器运维的业务处理方法、装置以及设备 | |
CN108769152A (zh) | 服务刷新策略注册、服务刷新请求方法、装置以及设备 | |
CN110908792B (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 | ||
CB02 | Change of applicant information |
Address after: 100000 room 701, 6 / F, building 1, No. 1, xidawang Road, Chaoyang District, Beijing Applicant after: Beijing Mind Creation Information Technology Co.,Ltd. Address before: Room 2802, 24 / F, building 4, 89 Jianguo Road, Chaoyang District, Beijing Applicant before: Beijing Mind Creation Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |