本技术涉及计算机,特别是涉及一种基于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任意一项所述的方法。