一种基于YARN的数据处理方法及装置与流程

    专利查询2025-10-20  4


    本技术涉及计算机,特别是涉及一种基于yarn的数据处理方法及装置。


    背景技术:

    1、另一种资源协调者(yet another resource negotiator,yarn)是一个通用资源管理和调度平台,其可以为上层应用提供统一的资源管理和调度服务。

    2、yarn通常与大数据处理平台相结合。作为一个具体的示例,可以将各种运算集群整合在一起,yarn可以接收来自大数据处理平台的数据处理任务,并从前述整合后的集群中为该任务分配资源,以便于利用所分配的资源来执行该数据处理任务。

    3、目前,当前述运算集群包括应用了k8s(英文全称:kubernetes)的集群时,如何利用yarn来调度运算集群的资源,是目前尚待解决的问题。


    技术实现思路

    1、为了解决或者至少部分解决上述技术问题,本技术提供了一种基于yarn的数据处理方法及装置。

    2、第一方面,本技术提供了一种基于yarn的数据处理方法,应用于部署了yarn技术的服务端,所述方法包括:

    3、接收来自大数据处理平台的数据处理任务;

    4、利用yarn节点管理组件为所述数据处理任务申请第一集群中的处理资源,所述第一集群为应用了k8s的集群;

    5、基于所述yarn节点管理组件为所述数据处理任务申请的目标资源,在第一集群中部署第一pod,并在所述第一pod中部署任务执行器;

    6、在所述第一pod中利用所述任务执行器执行所述数据处理任务。

    7、可选的,所述服务端管理的资源仅包括应用了k8s的集群,所述应用了k8s的集群包括所述第一集群,所述yarn节点管理组件部署在所述第一集群所包括的第二pod中,所述第二pod不同于所述第一pod。

    8、可选的,所述服务端管理的资源还包括应用了弹性计算服务的第二集群,所述yarn节点管理组件部署在所述第二集群中。

    9、可选的,所述方法还包括:

    10、在所述第二集群的可用资源不足的情况下,在所述第二集群中部署所述yarn节点管理组件。

    11、可选的,所述在所述第一pod中部署任务执行器,包括:

    12、在所述第一pod中部署初始化容器和任务执行容器,所述初始化容器用于执行资源本地化操作,所述资源本地化操作用于完成执行所述数据处理任务的环境准备,所述任务执行容器用于基于所述初始化容器所准备的环境,执行所述数据处理任务。

    13、可选的,所述资源本地化操作,包括:

    14、下载并存储用户提交的应用程序、大数据处理平台的配置项、执行脚本以及执行环境;

    15、基于所存储的所述应用程序、所述配置项、所述执行脚本以及所述执行环境,完成执行所述数据处理任务的环境准备。

    16、可选的,所述方法还包括:

    17、利用所述yarn节点管理组件对所述任务执行器的执行状态进行监控。

    18、可选的,所述方法还包括:

    19、在所述任务执行器执行所述数据处理任务完成之后,释放所述第一pod。

    20、可选的,所述方法还包括:

    21、在所述任务执行器执行所述数据处理任务完成之后、在所述第一pod被释放之前,获取所述任务执行器的执行日志,并将所述执行日志存储到文件系统中。

    22、第二方面,本技术提供了一种基于yarn的数据处理装置,应用于部署了yarn技术的服务端,所述装置包括:

    23、接收单元,用于接收来自大数据处理平台的数据处理任务;

    24、申请单元,用于利用yarn节点管理组件为所述数据处理任务申请第一集群中的处理资源,所述第一集群为应用了k8s的集群;

    25、第一部署单元,用于基于所述yarn节点管理组件为所述数据处理任务申请的目标资源,在第一集群中部署第一pod,并在所述第一pod中部署任务执行器;

    26、执行单元,用于在所述第一pod中利用所述任务执行器执行所述数据处理任务。

    27、可选的,所述服务端管理的资源仅包括应用了k8s的集群,所述应用了k8s的集群包括所述第一集群,所述yarn节点管理组件部署在所述第一集群所包括的第二pod中,所述第二pod不同于所述第一pod。

    28、可选的,所述服务端管理的资源还包括应用了弹性计算服务的第二集群,所述yarn节点管理组件部署在所述第二集群中。

    29、可选的,所述装置还包括:

    30、第二部署单元,用于在所述第二集群的可用资源不足的情况下,在所述第二集群中部署所述yarn节点管理组件。

    31、可选的,所述第一部署单元,用于:

    32、在所述第一pod中部署初始化容器和任务执行容器,所述初始化容器用于执行资源本地化操作,所述资源本地化操作用于完成执行所述数据处理任务的环境准备,所述任务执行容器用于基于所述初始化容器所准备的环境,执行所述数据处理任务。

    33、可选的,所述资源本地化操作,包括:

    34、下载并存储用户提交的应用程序、大数据处理平台的配置项、执行脚本以及执行环境;

    35、基于所存储的所述应用程序、所述配置项、所述执行脚本以及所述执行环境,完成执行所述数据处理任务的环境准备。

    36、可选的,所述装置还包括:

    37、状态监控单元,用于利用所述yarn节点管理组件对所述任务执行器的执行状态进行监控。

    38、可选的,所述装置还包括:

    39、释放单元,用于在所述任务执行器执行所述数据处理任务完成之后,释放所述第一pod。

    40、可选的,所述装置还包括:

    41、日志处理单元,用于在所述任务执行器执行所述数据处理任务完成之后、在所述第一pod被释放之前,获取所述任务执行器的执行日志,并将所述执行日志存储到文件系统中。

    42、第三方面,本技术实施例提供了一种电子设备,所述设备包括处理器和存储器;

    43、所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行如以上第一方面中任一项所述的方法。

    44、第四方面,本技术实施例提供了一种计算机可读存储介质,包括指令,所述指令指示设备执行如以上第一方面中任一项所述的方法。

    45、第五方面,本技术实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行以上第一方面任一项所述的方法。

    46、与现有技术相比,本技术实施例具有以下优点:

    47、本技术提供了一种基于yarn的数据处理方法,该方法应用于部署了yarn技术的服务端。服务端可以接收来自大数据处理平台的数据处理任务,并利用yarn节点管理(nodemanager,nm)组件为该数据处理任务申请第一集群中的处理资源,第一集群为应用了k8s的集群。所述nm组件可以为该数据处理任务申请到目标资源。进一步地,可以基于所述目标资源在第一集群中部署第一pod,并在第一pod中部署任务执行器。进一步地,可以在第一pod中利用任务执行器执行该数据处理任务。由此可见,利用本方案,假设nm组件处于pod中,则本方案不是在nm组件所在的pod中直接部署任务执行器,而是基于nm组件为数据处理任务申请的目标资源部署第一pod,并在第一pod中部署任务执行器。即:在本技术中,任务执行器不再与nm组件绑定在一个pod中,任务执行器可以部署在独立于nm组件所在的pod之外的第一pod中,从而使得第一pod占用的资源可以根据所述任务执行器的生命周期进行释放,从而有利于提升第一集群的资源利用效率。


    技术特征:

    1.一种基于yarn的数据处理方法,其特征在于,应用于部署了yarn技术的服务端,所述方法包括:

    2.根据权利要求1所述的方法,其特征在于,所述服务端管理的资源仅包括应用了k8s的集群,所述应用了k8s的集群包括所述第一集群,所述yarn节点管理组件部署在所述第一集群所包括的第二pod中,所述第二pod不同于所述第一pod。

    3.根据权利要求1所述的方法,其特征在于,所述服务端管理的资源还包括应用了弹性计算服务的第二集群,所述yarn节点管理组件部署在所述第二集群中。

    4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

    5.根据权利要求1所述的方法,其特征在于,所述在所述第一pod中部署任务执行器,包括:

    6.根据权利要求5所述的方法,其特征在于,所述资源本地化操作,包括:

    7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

    8.根据权利要求1所述的方法,其特征在于,所述方法还包括:

    9.根据权利要求8所述的方法,其特征在于,所述方法还包括:

    10.一种基于yarn的数据处理装置,其特征在于,应用于部署了yarn技术的服务端,所述装置包括:

    11.一种电子设备,其特征在于,所述设备包括处理器和存储器;

    12.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示设备执行以上权利要求1-9任意一项所述的方法。


    技术总结
    本申请公开了一种基于YARN(另一种资源协调者)的数据处理方法,包括:接收来自大数据处理平台的数据处理任务,并利用YARN NM(节点管理)组件为该数据处理任务申请第一集群中的处理资源,第一集群为应用了k8s(kubernetes)的集群。基于为数据处理任务申请的目标资源在第一集群中部署第一pod,并在第一pod中部署任务执行器,在第一pod中利用任务执行器执行该数据处理任务。在本申请中,任务执行器不再与NM组件绑定在一个pod中,任务执行器部署在独立于NM组件所在的pod之外的第一pod中,从而使得第一pod占用的资源可以根据任务执行器的生命周期进行释放,从而提升了第一集群的资源利用效率。

    技术研发人员:琚克俭
    受保护的技术使用者:北京火山引擎科技有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-31472.html

    最新回复(0)