CN114116214A - Flink任务处理的资源调整方法、装置、设备和存储介质 - Google Patents

Flink任务处理的资源调整方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114116214A
CN114116214A CN202111400825.9A CN202111400825A CN114116214A CN 114116214 A CN114116214 A CN 114116214A CN 202111400825 A CN202111400825 A CN 202111400825A CN 114116214 A CN114116214 A CN 114116214A
Authority
CN
China
Prior art keywords
resource
index
current
score
usage
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
CN202111400825.9A
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.)
Nanjing Suning Electronic Information Technology Co ltd
Original Assignee
Nanjing Suning Electronic Information Technology 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 Nanjing Suning Electronic Information Technology Co ltd filed Critical Nanjing Suning Electronic Information Technology Co ltd
Priority to CN202111400825.9A priority Critical patent/CN114116214A/zh
Publication of CN114116214A publication Critical patent/CN114116214A/zh
Priority to CA3182794A priority patent/CA3182794A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种Flink任务处理的资源调整方法、装置、设备和存储介质。所述方法包括:获取当前Flink任务的执行过程中各资源使用指标的实际使用量;根据各实际使用量以及各所述资源使用指标的指标参数,生成所述当前Flink任务的资源使用总评分;根据所述资源使用总评分以及资源使用总评分与调整策略的映射关系,得到所述当前Flink任务的调整策略;根据所述调整策略对所述当前Flink任务的资源分配进行调整。本申请通过设定多个资源使用指标,从多个维度对当前Flink任务的资源使用进行评分,并基于资源使用总评分与调整策略的映射关系精准定位到与当前Flink任务匹配的调整策略,使得调整策略的获取更加精准,基于该调整策略对资源进行调整,使得资源的调整更加准确。

Description

Flink任务处理的资源调整方法、装置、设备和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种Flink任务处理的资源调整方法、装置、设备和存储介质。
背景技术
目前,底层Flink框架的每个TaskManager(任务管理器)默认设置为1C、2G,用户可通过高级参数对TaskManager的Slot(任务槽)数和内存进行调整。例如,当前用户设置并发,主要通过设置多个TaskManagers方式或通过高级参数设置多个slot的方式。存在的问题主要是用户在配置并发的时候,对资源配置经验不足,经常出现本身需要很少的并发就能解决问题,结果配置过大并发,CPU和内存利用率较低,导致资源浪费。因此,如何对资源进行合理调整成为有待解决的问题。
传统的技术方案中,在Flink框架进行任务处理时,一般通过QPS(吞吐量)的最高值以及平均值对资源的利用进行评估,根据评估结果对资源进行调整,这种容易导致评估不准确,调整不合理的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种Flink任务处理的资源调整方法、装置、设备和存储介质。
一种Flink任务处理的资源调整方法,方法包括:
获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;
根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;
根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。
在其中一个实施例中,上述的指标参数包括最大值以及指标最高分,上述的根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分,包括:
当资源使用指标所属的评估因子为第一因子时,根据各第一因子的资源使用指标的实际使用量以及最大值,生成各第一因子的资源使用指标的使用占比;
根据各第一因子的资源使用指标的使用占比以及指标最高分,生成第一评分;
当资源使用指标所属的评估因子为第二因子时,资源使用指标包括第一指标以及第二指标,根据第一指标的实际使用量以及第二指标的实际使用量生成消费占比;
根据消费占比以及第二因子的资源使用指标的指标最高分,生成第二评分;
根据第二评分以及各第一评分,生成当前Flink任务的资源使用总评分。
在其中一个实施例中,上述的根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略,包括:
根据资源使用总评分与调整策略的映射关系中资源使用总评分的所属区间与调整策略的映射关系,获取与当前Flink任务的资源使用总评分的所属区间匹配的调整策略,得到当前Flink任务的调整策略。
在其中一个实施例中,上述的当前Flink任务的调整策略中包括待调整的资源使用指标对应的调整值,根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整,包括:
根据待调整的资源使用指标对应的调整值对当前Flink任务的各资源使用指标对应的资源分配量进行调整。
在其中一个实施例中,上述的方法还包括:
在接收到终端发送的资源的调整请求时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤;
或者,在监测到当前Flink任务开始运行时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤。
在其中一个实施例中,上述的方法还包括:
根据各资源使用指标对应的实际使用量与预设阈值进行比对,得到比对结果;
根据比对结果,生成各资源使用指标对应的资源使用详情信息;
将资源使用详情信息发送至终端展示。
在其中一个实施例中,上述的方法还包括:
接收资源使用总评分与调整策略的映射关系的配置请求;
根据配置请求中的新增调整策略以及新增调整策略对应的资源使用总评分,创建新增调整策略与新增调整策略对应的资源使用总评分的映射关系。
一种Flink任务处理的资源调整装置,装置包括:
获取模块,用于获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
生成模块,用于根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;
处理模块,用于根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;
调整模块,用于根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;
根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;
根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;
根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;
根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。
上述Flink任务处理的资源调整方法、装置、计算机设备和存储介质,通过获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。本申请通过设定多个资源使用指标,从多个维度对当前Flink任务的资源使用进行评分,并基于预先配置的资源使用总评分与调整策略的映射关系,根据得到的评分精准定位到与当前Flink任务匹配的调整策略,使得调整策略的获取更加精准,基于该调整策略对资源进行调整,使得资源的调整更加合理与准确。
附图说明
图1为一个实施例中Flink任务处理的资源调整方法的应用环境图;
图2为另一个实施例中Flink任务处理的资源调整方法的流程示意图;
图3为一个实施例中根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分的步骤细化流程示意图;
图4为另一个实施例中Flink任务处理的资源调整方法的流程示意图;
图5为一个实施例中Flink任务处理的资源调整装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
请参考图1,图1为本申请一示例性实施例提供的一种Flink任务处理的资源调整方法的应用环境示意图。如图1所示,该应用环境中包括服务器100以及终端101,服务器100与终端101之间可以通过网络102实现可通信的连接,以实现本申请的Flink任务处理的资源调整方法。
服务器100用于在接收到终端101发送的资源的调整请求时,获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整,还用于根据各资源使用指标对应的实际使用量以及指标评分,生成各资源使用指标对应的资源使用详情信息;将资源使用详情信息发送至终端101展示。其中,服务器100可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
终端101用于向服务器100发送资源的调整请求,并接收服务器发送的各资源使用指标对应的资源使用详情信息,将各资源使用指标对应的资源使用详情信息展示于用户界面。终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
网络102用于实现终端101与服务器100之间的网络连接,具体的,网络102可以包括多种类型的有线或无线网络。
在一个实施例中,如图2所示,提供了一种Flink任务处理的资源调整方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S11、获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量。
本申请中,上述的当前Flink任务可以为Flink框架的实时数据流的处理任务。上述的资源使用指标可以包括最高内存使用量、平均内存使用量、FullGC(全量垃圾回收)次数、FullGC时间、最高TaskManager(任务管理器)CPU使用量、平均TaskManagerCPU使用量、task(任务)发送端Buffer(缓冲器)的使用量、task发送端Buffer的使用量、committedOffsets(提交offset(补偿)到具体的位置)、currentOffsets(当前的offset位置)。
进一步的,上述的资源使用指标的实际使用量为各资源使用指标在当前Flink任务的运行过程中的实际值。例如,最高内存使用量可以在当前Flink任务的运行过程中获取。具体的,本申请可以预先设定预设时间段,获取该预设之间段内的各资源使用指标的实际使用量。例如,预设时间段为一个小时,则获取一个小时内的各资源使用指标的实际使用量。还可以设定获取某天的某个时间段内的各资源使用指标的实际使用量。具体情况根据实际需求设定,在此不做具体限定。
S12、根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分。
本申请中,针对不同的资源使用指标设定不同的指标参数。例如针对平均内存使用量可以设定指标参数为内存最大值为16,指标最高分值为50。
本申请中,可以根据各个资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,得到各个资源使用指标的得分,进一步根据各个资源使用指标的得分,得到当前当前Flink任务的资源使用总评分。
在其中一个实施例中,上述的指标参数包括最大值以及指标最高分,如图3所示,提供了一种根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分步骤细化流程图,包括以下步骤:
S31、当资源使用指标所属的评估因子为第一因子时,根据各第一因子的资源使用指标的实际使用量以及最大值,生成各第一因子的资源使用指标的使用占比;
S32、根据各第一因子的资源使用指标的使用占比以及指标最高分,生成第一评分;
S33、当资源使用指标所属的评估因子为第二因子时,资源使用指标包括第一指标以及第二指标,根据第一指标的实际使用量以及第二指标的实际使用量生成消费占比;
S34、根据消费占比以及第二因子的资源使用指标的指标最高分,生成第二评分;
S35、根据第二评分以及各第一评分,生成当前Flink任务的资源使用总评分。
本申请中,预先设定多个评估因子。该评估因子可以包括内存、CPU、FullGC、Kafka消费能力以及反压、数据倾斜等。针对各评估因子可以设定一个或多个资源使用指标。例如,针对内存可以设定对应的资源使用指标包括最高内存使用量以及平均内存使用量。针对CPU可以设定对应的资源使用指标包括最高TaskManagerCPU使用量以及平均TaskManagerCPU使用量。针对FullGC可以设定对应的资源使用指标包括FullGC次数以及FullGC时间。针对Kafka消费能力可以设定对应的资源使用指标包括committedOffsets以及currentOffsets。针对反压、数据倾斜可以设定对应的资源使用指标包括task发送端Buffer的使用量以及task接收端Buffer的使用量。
进一步的,上述的第一因子包括内存、CPU、FullGC以及反压、数据倾斜。上述的第二因子包括Kafka消费能力。上述的第一指标为committedOffsets。上述的第二指标为currentOffsets。
具体的,针对内存评估因子,假设设定内存对应的指标参数包括内存最大值为16,指标最高分为50,获取到内存评估因子下的最高内存使用量为M,则内存评估因子的评分=M/16*50。
同理,针对CPU评估因子,假设设定CPU对应的指标参数包括CPU最大值为100,指标最高分为20,获取到CPU评估因子下的平均TaskManagerCPU使用量为N。则CPU评估因子的评分=N/100*20。
针对FullGC评估因子,假设设定FullGC对应的指标参数包括FullGC次数的最大值为20,指标最高分为5,获取到FullGC次数的实际值为S。则FullGC评估因子的评分=S/20*5。
针对反压、数据倾斜评估因子,假设设定对应的指标参数包括反压的最高分为5,最大值为100。获取到task发送端Buffer的使用量的实际值为Y。则反压、数据倾斜评估因子的评分=Y/100*5。
针对Kafka消费能力评估因子,假设设定对应的指标参数为offset的最高分为15。获取到committedOffsets的实际值为E,currentOffsets的实际值为F,则Kafka消费能力评估因子的评分=F/E*15。
因此,上述的第一评分包括内存评估因子的评分=M/16*50、CPU评估因子的评分=N/100*20、FullGC评估因子的评分=S/20*5以及反压、数据倾斜评估因子的评分=Y/100*5。上述的第二评分为Kafka消费能力评估因子的评分=F/E*15。则当前Flink任务的资源使用总评分的计算式如下:
资源使用总评分=M/16*50+N/100*20+S/20*5+Y/100*5+F/E*15
本申请中,通过设定多个资源使用指标,并获取各资源使用指标在任意时间段内的实际使用量,基于该实际使用量生成当前Flink任务的资源使用总评分,实现了从多个维度对资源的利用进行评估,使得对资源利用的评估更加精准以及科学,进一步使得资源利用的调整更加合理,解决了现有技术中因资源分配不合理导致的资源浪费的问题,提高了资源的利用率。
需要说明的是,对于一个评估因子下可能存在多个资源使用指标。这种情况下计算当前Flink任务的资源使用总评分时,可以从多个资源使用指标中选取其中一个资源使用指标的实际使用量参与计算。例如,对于内存评估因子下存在最高内存使用量以及平均内存使用量2个资源使用指标,在计算当前Flink任务的资源使用总评分时,可以选取最高内存使用量的实际值进行计算。
另一种实施例中,也可以将各评估因子下的所有资源使用指标都参与计算。例如,可以将最高内存使用量以及平均内存使用量对应的第一评分都参与计算当前Flink任务的资源使用总评分。
S13、根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略。
本申请中,上述的资源使用总评分与调整策略的映射关系中包括资源使用总评分与调整策略的对应关系。其中,上述的调整策略中可以包括待调整的资源使用指标以及对应的调整值,还可以包括导致资源不足或者资源过剩的原因,还可以包括其他资源使用指标的使用详情信息。
具体的,本申请可以根据当前Flink任务的资源使用总评分获取调整策略,同时可以根据当前Flink任务的各个评估因子的评分获取对应的调整策略,使得得到的调整策略更加精准。
例如,当前Flink任务的资源使用总评分为A,根据资源使用总评分与调整策略的映射关系匹配到调整策略为:建议将CPU降低至2C,将内存降低至4G。
在其中一个实施例中,上述的根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略,可以包括:
根据资源使用总评分与调整策略的映射关系中资源使用总评分的所属区间与调整策略的映射关系,获取与当前Flink任务的资源使用总评分的所属区间匹配的调整策略,得到当前Flink任务的调整策略。
本申请中,上述的资源使用总评分与调整策略的映射关系中包括资源使用总评分与调整策略的对应关系。其中,可以是资源使用总评分与调整策略的一一对应关系,也可以是资源使用总评分所属的数值区间与调整策略的一一对应关系。前者是一个评分对应一个调整策略,后者是一个评分区间对应一个调整策略,具体的设置可以根据实际需求而设定。
本申请通过该实施方式可以更加精准的定位到调整策略,使得资源的调整更加精准。
S14、根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。
本申请中,上述的调整策略中可以包括待调整的资源使用指标以及对应的调整值,还可以包括导致资源不足或者资源过剩的原因,还可以包括其他资源使用指标的使用详情信息。
在其中一个实施例中,上述的当前Flink任务的调整策略中包括待调整的资源使用指标对应的调整值,根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整,可以包括:
根据待调整的资源使用指标对应的调整值对当前Flink任务的各资源使用指标对应的资源分配量进行调整。
本申请中,当前Flink任务的调整策略调整策略中包括待调整的资源使用指标对应的调整值以及各资源使用指标的资源使用详情信息。
例如,上述的调整策略可以为:
任务B当前申请的资源是4C的CPU以及8G的内存,在统计周期(2021-11-8:10至2021-11-8:11)内,总得分是C分,根据资源使用总评分与调整策略的映射关系匹配到调整策略为:实际使用资源率偏低,建议降低资源至2C(CPU)4G(内存)。
其中,资源使用详情信息如下:
(1)内存:申请的内存是8G,实际在统计周期平均使用内存是3G.
(2)CPU:申请的是4C,在统计周期内实际使用是2.
(3)FullGC:在统计周期内,FullGC次数为2次,共计时长是5分钟,不频繁。
(4)反压、数据倾斜:outPoolUsage、inPoolUsage在统计周期内平均使用率低于30%,未出现反压
(5)消费能力:offset消费能力正常,未出现积压。
根据上述的调整策略可知调整策略中包括待调整的资源使用指标的调整值以及资源使用详情信息。其中,资源使用详情信息中描述了各资源使用指标的实际使用信息以及是否在合理范围内等信息。根据上述的调整策略可以将内存降低为4G,将CPU降低为2C。本申请可以根据调整策略实现自定调整资源,灵活性高。
在其中一个实施例中,上述的方法还可以包括:
在接收到终端发送的资源使用的调整请求时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤;
或者,在监测到当前Flink任务开始运行时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤。
本申请可以在创建当前Flink任务之后,通过用户端提交的调整请求触发上述的Flink任务处理的资源调整方法。也可以在当前Flink任务开始运行时自动触发Flink任务处理的资源调整方法。一般地,每一个Flink任务在执行过程中可以执行一次上述的Flink任务处理的资源调整方法。具体的,获取各个资源使用指标的实际使用量时可以获取任务执行过程中的任意时间段的实际使用量或者获取整个过程的实际使用量。
本申请通过获取任意时间段内的各个资源使用指标的实际使用量,基于该任意时间段内的各个资源使用指标的实际使用量生成调整策略,使得调整策略更加精准,同时也提升了方案的灵活性。
在其中一个实施例中,如图4所示,上述的方法还可以包括:
S41、根据各资源使用指标对应的实际使用量与预设阈值进行比对,生成比对结果;
S42、根据比对结果,生成各资源使用指标对应的资源使用详情信息;
S43、将资源使用详情信息发送至终端展示。
其中,资源使用详情信息包括各资源使用指标的实际使用量、各实际使用量是否在合理范围内、以及对应的原因分析等信息。
上述的根据各资源使用指标对应的实际使用量以及指标评分,生成各资源使用指标对应的资源使用详情信息,可以包括:
将各资源使用指标对应的实际使用量与预设阈值进行比对,根据比对结果生成资源使用详情信息。
本申请中可以将各资源使用指标对应的实际使用量与预设阈值进行比对,根据比对结果生成资源使用详情信息。另一种实施例中,也可以将根据各资源使用指标对应的实际使用量转化为使用率,将得到的使用率与预设阈值进行比对。
具体的,当资源使用指标为最高内存使用量时,根据最高内存使用量得到内存最高使用率,将内存最高使用率与对应的预设阈值进行比对。判断上述的最高内存使用率是否低于预设阈值,若是,则生成整个任务的内存使用率偏低,可建议降低TaskManager的内存或降低TaskManager个数的资源使用详情信息。上述的预设阈值可以为30%。
当资源使用指标为FullGC次数时,对应的预设阈值可以为50%。具体的,可以统计预设时间段如一个小时内的FullGC次数以及每次FullGC的时长,将FullGC次数与每次FullGC的时长乘积与统计周期进行比较,若超过了统计周期的50%,则生成当前Flink任务的执行过程中FullGC过于频繁,考虑提高TaskManager内存的资源使用详情信息。
当资源使用指标为最高TaskManagerCPU使用量时,对应的预设阈值可以为5%。具体的,可以根据获取的最高TaskManagerCPU使用量得到最高TaskManagerCPU使用率,将该最高TaskManagerCPU使用率与5%进行比对,若低于5%,则生成最高TaskManagerCPU使用率偏低的资源使用详情信息。
当资源使用指标为task发送端Buffer的使用量以及task接收端Buffer的使用量时,生成资源使用详情信息可以包括如下步骤:
根据task发送端Buffer的使用量以及task接收端Buffer的使用量分别得到对应的task发送端Buffer的使用率以及task接收端Buffer的使用率。
当对应的当ExclusiveBuffer(私有Buffer)的使用率低于10%,FloatingBuffer(可共用的Buffer)使用率高于90%时,则生成原因分析信息为可能存在数据倾斜。
当一个Subtask(子任务)的接收端inPoolUsage(输入容量)和发送端outPoolUsage(输出容量)的Buffer占用率均低于10%,则表明正常。
当一个Subtask的接收端inPoolUsageBuffer占用高于90%,发送端outPoolUsageBuffer占用率低于10%,则生成原因分析信息为将反压传导至上游,有可能是反压的根源。
当一个Subtask的接收端inPoolUsage和outPoolUsage的Buffer占用率均高于90%时,则生成原因分析信息为处于被下游反压。
当资源使用指标为committedOffsets以及currentOffsets时,如果每个分区的成功提交到kafka的partition当前提交offset位置,远低于当前读取partition中offset的位置,说明存在积压,则生成资源配置是否合理以及业务数据流是否增加等原因分析信息。
本申请通过该实施方式,将基于各资源使用指标的实际使用量生成资源使用详情信息,并将该详情信息发送至终端展示,以便相关人员对数据进行分析,提升方案的灵活性。
在其中一个实施例中,上述的方法还可以包括:
接收资源使用总评分与调整策略的映射关系的配置请求;
根据配置请求中的新增调整策略以及新增调整策略对应的资源使用总评分,创建新增调整策略与新增调整策略对应的资源使用总评分的映射关系。
本申请中,当需要新增调整策略时,可以通过终端发送资源使用总评分与调整策略的映射关系的配置请求。该配置请求中携带了新增调整策略以及该新增调整策略对应的资源使用总评分,根据该配置请求对应创建新增调整策略对应的资源使用总评分的映射关系,并将该映射关系存储于预设数据库中。本申请的调整策略支持可修改、可新增,提升方案的灵活性。
在一个实施例中,如图5所示,提供了一种Flink任务处理的资源调整装置,包括:获取模块11、生成模块12、处理模块13和调整模块14,其中:
获取模块11,用于获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
生成模块12,用于根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;
处理模块13,用于根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的资源调整策略;
调整模块14,用于根据当前Flink任务的资源调整策略对当前Flink任务的资源分配进行调整。
在其中一个实施例中,上述的指标参数包括最大值以及指标最高分,上述的生成模块12可以当资源使用指标所属的评估因子为第一因子时,根据各第一因子的资源使用指标的实际使用量以及最大值,生成各第一因子的资源使用指标的使用占比,根据各第一因子的资源使用指标的使用占比以及指标最高分,生成第一评分,当资源使用指标所属的评估因子为第二因子时,资源使用指标包括第一指标以及第二指标,根据第一指标的实际使用量以及第二指标的实际使用量生成消费占比,根据消费占比以及第二因子的资源使用指标的指标最高分,生成第二评分,根据第二评分以及各第一评分,生成当前Flink任务的资源使用总评分。
在其中一个实施例中,上述的处理模块13可以根据资源使用总评分与调整策略的映射关系中资源使用总评分的所属区间与调整策略的映射关系,获取与当前Flink任务的资源使用总评分的所属区间匹配的调整策略,得到当前Flink任务的调整策略。
在其中一个实施例中,上述的当前Flink任务的调整策略中包括待调整的资源使用指标对应的调整值,上述的调整模块14可以根据待调整的资源使用指标对应的调整值对当前Flink任务的各资源使用指标对应的资源分配量进行调整。
在其中一个实施例中,上述的装置还包括接收模块(图未示),该接收模块可以在接收到终端发送的资源的调整请求时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤,或者,在监测到当前Flink任务开始运行时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤。
在其中一个实施例中,上述的装置还包括比对模块(图未示),该比对模块可以根据各资源使用指标对应的实际使用量与预设阈值进行比对,得到比对结果,根据比对结果,生成各资源使用指标对应的资源使用详情信息,将资源使用详情信息发送至终端展示。
在其中一个实施例中,上述的装置还包括新增模块(图未示),该新增模块可以接收资源使用总评分与调整策略的映射关系的配置请求,根据配置请求中的新增调整策略以及新增调整策略对应的资源使用总评分,创建新增调整策略与新增调整策略对应的资源使用总评分的映射关系。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储智能家居设备的运行数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现编译虚拟机的资源分配方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;
根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。
在其中一个实施例中,上述的指标参数包括最大值以及指标最高分,处理器执行计算机程序实现上述的根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分步骤时,具体实现以下步骤:
当资源使用指标所属的评估因子为第一因子时,根据各第一因子的资源使用指标的实际使用量以及最大值,生成各第一因子的资源使用指标的使用占比;
根据各第一因子的资源使用指标的使用占比以及指标最高分,生成第一评分;
当资源使用指标所属的评估因子为第二因子时,资源使用指标包括第一指标以及第二指标,根据第一指标的实际使用量以及第二指标的实际使用量生成消费占比;
根据消费占比以及第二因子的资源使用指标的指标最高分,生成第二评分;
根据第二评分以及各第一评分,生成当前Flink任务的资源使用总评分。
在其中一个实施例中,处理器执行计算机程序实现上述的根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略步骤时,具体实现以下步骤:
根据资源使用总评分与调整策略的映射关系中资源使用总评分的所属区间与调整策略的映射关系,获取与当前Flink任务的资源使用总评分的所属区间匹配的调整策略,得到当前Flink任务的调整策略。
在其中一个实施例中,上述的当前Flink任务的调整策略中包括待调整的资源使用指标对应的调整值,处理器执行计算机程序实现上述的根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整步骤时,具体实现以下步骤:
根据待调整的资源使用指标对应的调整值对当前Flink任务的各资源使用指标对应的资源分配量进行调整。
在其中一个实施例中,处理器执行计算机程序时具体还实现以下步骤:
在接收到终端发送的资源的调整请求时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤;
或者,在监测到当前Flink任务开始运行时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤。
在其中一个实施例中,处理器执行计算机程序时具体还实现以下步骤:
根据各资源使用指标对应的实际使用量与预设阈值进行比对,得到比对结果;
根据比对结果,生成各资源使用指标对应的资源使用详情信息;
将资源使用详情信息发送至终端展示。
在其中一个实施例中,处理器执行计算机程序时具体还实现以下步骤:
接收资源使用总评分与调整策略的映射关系的配置请求;
根据配置请求中的新增调整策略以及新增调整策略对应的资源使用总评分,创建新增调整策略与新增调整策略对应的资源使用总评分的映射关系。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分;根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略;根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整。
在其中一个实施例中,上述的指标参数包括最大值以及指标最高分,计算机程序被处理器执行实现上述的根据各资源使用指标的实际使用量以及预先配置的各资源使用指标的指标参数,生成当前Flink任务的资源使用总评分步骤时,具体实现以下步骤:
当资源使用指标所属的评估因子为第一因子时,根据各第一因子的资源使用指标的实际使用量以及最大值,生成各第一因子的资源使用指标的使用占比;
根据各第一因子的资源使用指标的使用占比以及指标最高分,生成第一评分;
当资源使用指标所属的评估因子为第二因子时,资源使用指标包括第一指标以及第二指标,根据第一指标的实际使用量以及第二指标的实际使用量生成消费占比;
根据消费占比以及第二因子的资源使用指标的指标最高分,生成第二评分;
根据第二评分以及各第一评分,生成当前Flink任务的资源使用总评分。
在其中一个实施例中,计算机程序被处理器执行实现上述的根据当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到当前Flink任务的调整策略步骤时,具体实现以下步骤:
根据资源使用总评分与调整策略的映射关系中资源使用总评分的所属区间与调整策略的映射关系,获取与当前Flink任务的资源使用总评分的所属区间匹配的调整策略,得到当前Flink任务的调整策略。
在其中一个实施例中,上述的当前Flink任务的调整策略中包括待调整的资源使用指标对应的调整值,计算机程序被处理器执行实现上述的根据当前Flink任务的调整策略对当前Flink任务的资源分配进行调整步骤时,具体实现以下步骤:
根据待调整的资源使用指标对应的调整值对当前Flink任务的各资源使用指标对应的资源分配量进行调整。
在其中一个实施例中,计算机程序被处理器执行时具体还实现以下步骤:
在接收到终端发送的资源的调整请求时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤;
或者,在监测到当前Flink任务开始运行时,执行获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤。
在其中一个实施例中,计算机程序被处理器执行时具体还实现以下步骤:
根据各资源使用指标对应的实际使用量与预设阈值进行比对,得到比对结果;
根据比对结果,生成各资源使用指标对应的资源使用详情信息;
将资源使用详情信息发送至终端展示。
在其中一个实施例中,计算机程序被处理器执行时具体还实现以下步骤:
接收资源使用总评分与调整策略的映射关系的配置请求;
根据配置请求中的新增调整策略以及新增调整策略对应的资源使用总评分,创建新增调整策略与新增调整策略对应的资源使用总评分的映射关系。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种Flink任务处理的资源调整方法,所述方法包括:
获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
根据各所述资源使用指标的实际使用量以及预先配置的各所述资源使用指标的指标参数,生成所述当前Flink任务的资源使用总评分;
根据所述当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到所述当前Flink任务的调整策略;
根据所述当前Flink任务的调整策略对所述当前Flink任务的资源分配进行调整。
2.根据权利要求1所述的方法,其特征在于,所述指标参数包括最大值以及指标最高分,所述根据各所述资源使用指标的实际使用量以及预先配置的各所述资源使用指标的指标参数,生成所述当前Flink任务的资源使用总评分,包括:
当所述资源使用指标所属的评估因子为第一因子时,根据各所述第一因子的资源使用指标的实际使用量以及最大值,生成各所述第一因子的资源使用指标的使用占比;
根据各所述第一因子的资源使用指标的使用占比以及指标最高分,生成第一评分;
当所述资源使用指标所属的评估因子为第二因子时,所述资源使用指标包括第一指标以及第二指标,根据所述第一指标的实际使用量以及所述第二指标的实际使用量生成消费占比;
根据所述消费占比以及所述第二因子的资源使用指标的指标最高分,生成第二评分;
根据所述第二评分以及各所述第一评分,生成所述当前Flink任务的资源使用总评分。
3.根据权利要求1所述的方法,其特征在于,所述根据所述当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到所述当前Flink任务的调整策略,包括:
根据所述资源使用总评分与调整策略的映射关系中资源使用总评分的所属区间与调整策略的映射关系,获取与所述当前Flink任务的资源使用总评分的所属区间匹配的调整策略,得到所述当前Flink任务的调整策略。
4.根据权利要求1所述的方法,其特征在于,所述当前Flink任务的调整策略中包括待调整的资源使用指标对应的调整值,所述根据所述当前Flink任务的调整策略对所述当前Flink任务的资源分配进行调整,包括:
根据待调整的资源使用指标对应的调整值对所述当前Flink任务的各资源使用指标对应的资源分配量进行调整。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到终端发送的资源的调整请求时,执行所述获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤;
或者,在监测到所述当前Flink任务开始运行时,执行所述获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据各资源使用指标对应的实际使用量与预设阈值进行比对,得到比对结果;
根据所述比对结果,生成各资源使用指标对应的资源使用详情信息;
将所述资源使用详情信息发送至所述终端展示。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述资源使用总评分与调整策略的映射关系的配置请求;
根据所述配置请求中的新增调整策略以及所述新增调整策略对应的资源使用总评分,创建所述新增调整策略与所述新增调整策略对应的资源使用总评分的映射关系。
8.一种Flink任务处理的资源调整装置,所述装置包括:
获取模块,用于获取当前Flink任务的执行过程中各预设的资源使用指标的实际使用量;
生成模块,用于根据各所述资源使用指标的实际使用量以及预先配置的各所述资源使用指标的指标参数,生成所述当前Flink任务的资源使用总评分;
处理模块,用于根据所述当前Flink任务的资源使用总评分以及预先配置的资源使用总评分与调整策略的映射关系,得到所述当前Flink任务的调整策略;
调整模块,用于根据所述当前Flink任务的调整策略对所述当前Flink任务的资源分配进行调整。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111400825.9A 2021-11-24 2021-11-24 Flink任务处理的资源调整方法、装置、设备和存储介质 Pending CN114116214A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111400825.9A CN114116214A (zh) 2021-11-24 2021-11-24 Flink任务处理的资源调整方法、装置、设备和存储介质
CA3182794A CA3182794A1 (en) 2021-11-24 2022-11-24 Resource adjusting method, device, equipment and storage medium for flink task processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111400825.9A CN114116214A (zh) 2021-11-24 2021-11-24 Flink任务处理的资源调整方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN114116214A true CN114116214A (zh) 2022-03-01

Family

ID=80440828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111400825.9A Pending CN114116214A (zh) 2021-11-24 2021-11-24 Flink任务处理的资源调整方法、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN114116214A (zh)
CA (1) CA3182794A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328667A (zh) * 2022-10-18 2022-11-11 杭州比智科技有限公司 基于flink任务指标监控实现任务资源弹性伸缩系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107995357A (zh) * 2017-11-15 2018-05-04 广东欧珀移动通信有限公司 资源配置方法及装置
CN110231991A (zh) * 2019-05-31 2019-09-13 新华三大数据技术有限公司 一种任务分配方法、装置、电子设备及可读存储介质
CN112131005A (zh) * 2020-09-25 2020-12-25 新华三大数据技术有限公司 一种资源调整策略确定方法和装置
CN112286637A (zh) * 2020-10-30 2021-01-29 西安万像电子科技有限公司 计算资源的调整方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107995357A (zh) * 2017-11-15 2018-05-04 广东欧珀移动通信有限公司 资源配置方法及装置
CN110231991A (zh) * 2019-05-31 2019-09-13 新华三大数据技术有限公司 一种任务分配方法、装置、电子设备及可读存储介质
CN112131005A (zh) * 2020-09-25 2020-12-25 新华三大数据技术有限公司 一种资源调整策略确定方法和装置
CN112286637A (zh) * 2020-10-30 2021-01-29 西安万像电子科技有限公司 计算资源的调整方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328667A (zh) * 2022-10-18 2022-11-11 杭州比智科技有限公司 基于flink任务指标监控实现任务资源弹性伸缩系统及方法

Also Published As

Publication number Publication date
CA3182794A1 (en) 2023-05-24

Similar Documents

Publication Publication Date Title
CN109766182B (zh) 系统资源动态扩缩容方法、装置、计算机设备及存储介质
CN107832126B (zh) 一种线程的调整方法及其终端
CN108683720B (zh) 一种容器集群服务配置方法及装置
CN109787908B (zh) 服务器限流方法、系统、计算机设备及存储介质
CN110597858A (zh) 任务数据处理方法、装置、计算机设备和存储介质
CN110493362B (zh) 请求量控制方法、装置、存储介质和计算机设备
CN110933178B (zh) 调整集群系统内的节点配置的方法及服务器
CN108449237B (zh) 网络性能监测方法、装置、计算机设备和存储介质
CN111225050B (zh) 云计算资源分配方法及装置
CN110490594B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN111143163A (zh) 数据监控方法、装置、计算机设备和存储介质
CN110308985B (zh) 云专属服务器资源管理方法、装置、设备及存储介质
CN113434253A (zh) 集群资源调度方法、装置、设备及存储介质
CN109815004B (zh) 请求负载控制方法、装置、存储介质和计算机设备
CN111212391B (zh) 短信推送方法、装置、设备及可读介质
CN112689007A (zh) 资源分配方法、装置、计算机设备和存储介质
CN110417920B (zh) 消息推送方法、装置、设备和存储介质
CN111277640B (zh) 用户请求处理方法、装置、系统、计算机设备和存储介质
CN114116214A (zh) Flink任务处理的资源调整方法、装置、设备和存储介质
CN114625523A (zh) 一种资源分配方法、装置和计算机可读存储介质
CN109670932B (zh) 信贷数据核算方法、装置、系统和计算机存储介质
CN110766430B (zh) 基于机器学习算法的资源分配方法
CN109800975B (zh) 一种资源评估方法、装置、计算机设备和存储介质
CN113992586A (zh) 流量控制方法、装置、计算机设备和存储介质
CN110659347A (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