一种任务熔断方法、系统、电子设备及可读存储介质技术方案

技术编号:29306732 阅读:14 留言:0更新日期:2021-07-17 01:53
本申请公开了一种任务熔断方法、系统、电子设备及可读存储介质,任务熔断方法包括:设置步骤:设置内存使用率阈值以及pyspark子进程数量阈值;拉取步骤:拉取节点当前的内存使用率以及pyspark子进程数量;判断步骤:根据所述内存使用率阈值以及所述pyspark子进程数量阈值对所述内存使用率与所述pyspark子进程数量进行判断后输出第一判断结果,根据所述第一判断结果提取任务信息,根据所述任务信息对任务进行判断后输出第二判断结果;熔断步骤:若所述第二判断结果中所述任务为非紧急任务,则熔断所述任务。通过本发明专利技术自动分析任务是否进行熔断操作,保证了集群的稳定性,并提高工作效率。效率。效率。

The invention relates to a task fusing method, a system, an electronic device and a readable storage medium

【技术实现步骤摘要】
一种任务熔断方法、系统、电子设备及可读存储介质


[0001]本申请涉及任务熔断
,尤其涉及一种任务熔断方法、系统、电子设备及可读存储介质。

技术介绍

[0002]Hadoop集群中的节点分为两类:master节点和slave节点。Hadoop集群上可以运行多种分布式计算框架比如mapreduce、flink、spark。Hadoop中的组件YARN会对这些任务进行调度及资源分配,将这些任务分成多个任务分片,每个任务分片以container的形式分配到各个slave节点上运行。YARN会根据任务配置的内存参数将container分配到适合的slave节点上。正常情况下这些任务的container运行内存不会超过其配置的内存参数,也不会影响slave节点的正常运行。但一些计算框架支持container在slave节点上创建新的子进程(主要以pyspark类型的任务为主)。这些子进程往往不受任务配置的内存参数限制,并且这些子进程由于没有在YARN当中进行注册,因而也不受YARN控制。一但这些任务代码逻辑存在问题,比如在内存中缓存大量数据,会导致slave节点内存飙升,进而导致节点宕机或者连接超时。当这种异常任务中的多个任务分片(container)存在这种问题的话就会导致集群大量节点掉线,影响集群稳定性。因此需要对这些不受YARN控制的子进程及任务进行熔断操作,当判断其非紧急任务时可及时进行熔断操作,停掉占用内存过多的pyspark任务及其子进程,保证集群稳定。一般情况下异常任务会导致slave节点内存飙升,触发内存报警或超时报警。运维人员收到报警后,登录报警机器或者查看目前内存使用率接近100%的机器,查看占用内存最高的进程,并通过进程查看其对应的YARN任务ID。当登录多台机器查看的任务ID均指向同一任务时基本上可以确定是由该任务导致。运维人员通知任务所属业务组停掉异常任务,集群恢复正常。普通方法是需要运维人员登录机器然后联系业务组,中间处理时间较长。另外一种方法是运维人员接到报警时已经有机器宕机,不能提前预防机器宕机的问题发生。

技术实现思路

[0003]本申请实施例提供了一种任务熔断方法、系统、电子设备及可读存储介质,以至少解决了不受YARN控制的异常任务中的多个任务分片(container)代码逻辑存在问题使节点宕机或者连接超时,导致集群大量节点掉线,影响集群稳定性以及无法对不受YARN控制的异常任务进行智能熔断操作等问题。
[0004]本专利技术提供了一种任务熔断方法,包括:
[0005]设置步骤:设置内存使用率阈值以及pyspark子进程数量阈值;
[0006]拉取步骤:拉取节点当前的内存使用率以及pyspark子进程数量;
[0007]判断步骤:根据所述内存使用率阈值以及所述pyspark子进程数量阈值对所述内存使用率与所述pyspark子进程数量进行判断后输出第一判断结果,根据所述第一判断结果提取任务信息,根据所述任务信息对任务进行判断后输出第二判断结果;
[0008]熔断步骤:若所述第二判断结果中所述任务为非紧急任务,则熔断所述任务。
[0009]上述的任务熔断方法,所述拉取步骤包括,每隔一固定时间拉取所述节点当前的所述内存使用率以及所述pyspark子进程数量,并将所述内存使用率与所述pyspark子进程数量构成的队列输入到预测模型中。
[0010]上述的任务熔断方法,所述判断步骤包括,通过所述预测模型对所述内存使用率与所述pyspark子进程数量进行判断,若所述内存使用率与所述pyspark子进程数量都超出了所述内存使用率阈值以及所述pyspark子进程数量阈值,提取与所述内存使用率以及所述pyspark子进程数量对应的所述任务信息并对所述任务信息进行分析获得所述任务的任务ID,根据所述任务ID,判断所述任务是否为紧急任务。
[0011]上述的任务熔断方法,所述熔断步骤包括,若所述第二判断结果中所述任务为非紧急任务,则根据所述任务ID熔断所述任务,若所述第二判断结果中所述任务为紧急任务,则不熔断所述任务。
[0012]上述的任务熔断方法,所述设置步骤包括,将所述内存使用率阈值设定为95%,将所述pyspark子进程数量阈值设定为机器内存总量的30%。
[0013]本专利技术还提供一种任务熔断系统,其中,适用于上述所述的任务熔断方法,所述任务熔断系统包括:
[0014]设置单元:设置内存使用率阈值以及pyspark子进程数量阈值;
[0015]拉取单元:拉取节点当前的内存使用率以及pyspark子进程数量;
[0016]判断单元:根据所述内存使用率阈值以及所述pyspark子进程数量阈值对所述内存使用率与所述pyspark子进程数量进行判断后输出第一判断结果,根据所述第一判断结果提取任务信息,根据所述任务信息对任务进行判断后输出第二判断结果;
[0017]熔断单元:若所述第二判断结果中所述任务为非紧急任务,则熔断所述任务。
[0018]上述的任务熔断系统,每隔一固定时间所述拉取单元拉取所述节点当前的所述内存使用率以及所述pyspark子进程数量,并将所述内存使用率与所述pyspark子进程数量构成的队列输入到预测模型中。
[0019]上述的任务熔断系统,所述判断单元通过所述预测模型对所述内存使用率与所述pyspark子进程数量进行判断,若所述内存使用率与所述pyspark子进程数量都超出了所述内存使用率阈值以及所述pyspark子进程数量阈值,提取与所述内存使用率以及所述pyspark子进程数量对应的所述任务信息并对所述任务信息进行分析获得所述任务的任务ID,根据所述任务ID,所述判断单元判断所述任务是否为紧急任务。
[0020]上述的任务熔断系统,若所述第二判断结果中所述任务为非紧急任务,则所述熔断单元根据所述任务ID熔断所述任务,若所述第二判断结果中所述任务为紧急任务,则所述熔断单元不熔断所述任务。
[0021]上述的任务熔断系统,所述设置单元将所述内存使用率阈值设定为95%,将所述pyspark子进程数量阈值设定为机器内存总量的30%。
[0022]相比于相关技术,本专利技术提出一种任务熔断方法、系统、电子设备及可读存储介质,本专利技术借助深度学习相关模型帮助分析slave节点当前内存使用率、pyspark子进程占用内存数量两个判断指标的未来发展趋势,自动发现节点异常占用内存过高的pyspark任务,来自动分析当前任务是否需要进行熔断操作,保证了集群的稳定性,减少人工操作并提
高工作效率。并且收集集群上各个节点运行指标结合深度学习训练出来的模型对于集群上的使用情况更加有针对性,资源调控更加灵活精准,同时,减少了人工的干预,减轻运维人员的人工操作,提高效率,从而提升云服务与数据能力。
[0023]本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
[0024]此处所说明的附图用来提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务熔断方法,其特征在于,包括:设置步骤:设置内存使用率阈值以及pyspark子进程数量阈值;拉取步骤:拉取节点当前的内存使用率以及pyspark子进程数量;判断步骤:根据所述内存使用率阈值以及所述pyspark子进程数量阈值对所述内存使用率与所述pyspark子进程数量进行判断后输出第一判断结果,根据所述第一判断结果提取任务信息,根据所述任务信息对任务进行判断后输出第二判断结果;熔断步骤:若所述第二判断结果中所述任务为非紧急任务,则熔断所述任务。2.根据权利要求1所述的任务熔断方法,其特征在于,所述拉取步骤包括,每隔一固定时间拉取所述节点当前的所述内存使用率以及所述pyspark子进程数量,并将所述内存使用率与所述pyspark子进程数量构成的队列输入到预测模型中。3.根据权利要求1所述的任务熔断方法,其特征在于,所述判断步骤包括,通过所述预测模型对所述内存使用率与所述pyspark子进程数量进行判断,若所述内存使用率与所述pyspark子进程数量都超出了所述内存使用率阈值以及所述pyspark子进程数量阈值,提取与所述内存使用率以及所述pyspark子进程数量对应的所述任务信息并对所述任务信息进行分析获得所述任务的任务ID,根据所述任务ID,判断所述任务是否为紧急任务。4.根据权利要求3所述的任务熔断方法,其特征在于,所述熔断步骤包括,若所述第二判断结果中所述任务为非紧急任务,则根据所述任务ID熔断所述任务,若所述第二判断结果中所述任务为紧急任务,则不熔断所述任务。5.一种任务熔断系统,其特征在于,适用于上述权利要求1至5所述的任务熔断方法,所述任务熔断系统包括:设置单元:设置内存使用率阈值以及pyspark子进程数量阈值;拉取单元:拉取节点当前的内存使用率以及pyspark子进程数量;...

【专利技术属性】
技术研发人员:王星叔郭颂刘远
申请(专利权)人:北京明略昭辉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1