CN109614241A - 基于Yarn队列实现多集群多租户资源隔离的方法及系统 - Google Patents

基于Yarn队列实现多集群多租户资源隔离的方法及系统 Download PDF

Info

Publication number
CN109614241A
CN109614241A CN201811541036.5A CN201811541036A CN109614241A CN 109614241 A CN109614241 A CN 109614241A CN 201811541036 A CN201811541036 A CN 201811541036A CN 109614241 A CN109614241 A CN 109614241A
Authority
CN
China
Prior art keywords
task
cluster
client
configuration information
tenant
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.)
Granted
Application number
CN201811541036.5A
Other languages
English (en)
Other versions
CN109614241B (zh
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.)
Number Of Hangzhou Dai Technology Co Ltd
Original Assignee
Number Of Hangzhou Dai 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 Number Of Hangzhou Dai Technology Co Ltd filed Critical Number Of Hangzhou Dai Technology Co Ltd
Priority to CN201811541036.5A priority Critical patent/CN109614241B/zh
Publication of CN109614241A publication Critical patent/CN109614241A/zh
Application granted granted Critical
Publication of CN109614241B publication Critical patent/CN109614241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于Yarn队列实现多集群多租户资源隔离的方法及系统,其中方法包括:发送任务的客户端根据任务所属的租户获取集群配置信息;发送任务的客户端将任务与集群配置信息进行拼装,得到拼装信息,并将拼装信息发送至提交任务的代理器;提交任务的代理器接收拼装信息,提取任务中的任务类型和集群配置信息,实例化计算引擎的客户端,利用计算引擎的客户端将任务提交到关联的集群上通过Yarn队列执行。由此可以实现多集群多租户资源隔离。

Description

基于Yarn队列实现多集群多租户资源隔离的方法及系统
技术领域
本发明涉及大数据技术集群资源管理技术领域,尤其涉及一种基于Yarn队列实现多集群多租户资源隔离的方法及系统。
背景技术
现有的开源技术方案有以下不足:
1、集群使用Yarn作为资源管理框架时,默认只对内存资源进行管理。虽然Yarn也能支持cpu资源,但在集群规模大、任务多时资源竞争问题很严重;
2、无法解决多租户下多集群的资源分配问题。
发明内容
本发明旨在提供一种克服上述问题之一或者至少部分地解决上述任一问题的基于Yarn队列实现多集群多租户资源隔离的方法及系统。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明的一个方面提供了一种基于Yarn队列实现多集群多租户资源隔离的方法,包括:发送任务的客户端根据任务所属的租户获取集群配置信息;发送任务的客户端将任务与集群配置信息进行拼装,得到拼装信息,并将拼装信息发送至提交任务的代理器;提交任务的代理器接收拼装信息,提取任务中的任务类型和集群配置信息,实例化计算引擎的客户端,利用计算引擎的客户端将任务提交到关联的集群上通过Yarn队列执行。
其中,发送任务的客户端根据任务所属的租户获取集群配置信息包括:发送任务的客户端根据任务所属的租户查询缓存;在查询到缓存中存储有集群配置信息时,从缓存中获取集群配置信息;在查询到缓存中没有存储集群配置信息时,从集群控制台获取集群配置信息。
其中,集群控制台通过Rest访问接口与发送任务的客户端进行通信。
其中,方法还包括:集群控制台在变更集群配置信息时,触发事件通知,并将事件通知发送至发送任务的客户端。
其中,方法还包括:发送任务的客户端接收事件通知,根据事件通知清理缓存。
本发明另一方面提供了一种基于Yarn队列实现多集群多租户资源隔离的系统,包括:发送任务的客户端,用于根据任务所属的租户获取集群配置信息,将任务与集群配置信息进行拼装,得到拼装信息,并将拼装信息发送至提交任务的代理器;提交任务的代理器,用于接收拼装信息,提取任务中的任务类型和集群配置信息,实例化计算引擎的客户端,利用计算引擎的客户端将任务提交到关联的集群上通过Yarn队列执行。
其中,系统还包括:集群控制台;发送任务的客户端,具体用于根据任务所属的租户查询缓存,在查询到缓存中存储有集群配置信息时,从缓存中获取集群配置信息;在查询到缓存中没有存储集群配置信息时,从集群控制台获取集群配置信息。
其中,集群控制台,还用于通过Rest访问接口与发送任务的客户端进行通信。
其中,集群控制台,还用于在变更集群配置信息时,触发事件通知,并将事件通知发送至发送任务的客户端。
其中,发送任务的客户端,还用于接收事件通知,根据事件通知清理缓存。
本发明又一方面提供了一种基于Yarn队列实现多集群多租户资源隔离的系统,其特征在于,包括:集群控制台、发送任务的客户端和提交任务的代理器;其中,集群控制台包括集群信息管理单元、资源控制单元和事件通知单元;
发送任务的客户端包括缓存器单元和事件处理单元;其中,集群信息管理单元,用于管理所有集群配置信息,添加新的集群配置信息,对已有的集群配置信息进行修改、删除操作,和/或管理租户和Yarn队列的逻辑关系;资源控制单元,用于使用Apache HadoopYarn作为统一的资源管理和调度框架,节点机器统一使用基于Linux内核的系统,并使用cgroup组件控制系统资源,和/或集群中的计算资源通过Yarn队列进行分配;事件通知单元,用于修改或删除一个集群配置信息时引发集群事件通知,和/或修改租户与Yarn队列的逻辑关系时引发租户事件通知;缓存器单元,用于缓存集群配置信息;事件处理单元,用于监听事件通知单元,并接收事件通知,处理集群事件和/或处理租户事件。
由此可见,通过本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法及系统,可以通过发送任务的客户端根据任务所属的租户,并获取与租户关联的集群配置信息,与任务进行拼装后继续发送给提交任务的代理器,以通过提交任务的代理器根据任务的类型和集群配置信息实例化计算引擎的Client,使用Client可以将任务提交到与租户有关联的指定集群,从而可以实现多集群多租户资源隔离。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统的一种结构示意图;
图2为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统的另一种结构示意图;
图3为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法的一种流程图;
图4为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法的另一种流程图;
图5为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统中集群控制台的结构示意图;
图6为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统包含发送任务的客户端具体结构的结构示意图;
图7为本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统包含提交任务的代理器具体结构的结构示意图;
图8为本发明实施例提供的一种具体的基于Yarn队列实现多集群多租户资源隔离的方法的流程图;
图9为本发明实施例提供的另一种具体的基于Yarn队列实现多集群多租户资源隔离的方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的一种基于Yarn队列实现多集群多租户资源隔离的系统的结构示意图,参见图1,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统包括:
发送任务的客户端101,用于根据任务所属的租户获取集群配置信息,将任务与集群配置信息进行拼装,得到拼装信息,并将拼装信息发送至提交任务的代理器102;
提交任务的代理器102,用于接收拼装信息,提取任务中的任务类型和集群配置信息,实例化计算引擎的客户端,利用计算引擎的客户端将任务提交到关联的集群上通过Yarn队列执行。
基于此,可以通过发送任务的客户端根据任务所属的租户,并获取与租户关联的集群配置信息,与任务进行拼装后继续发送给提交任务的代理器,以通过提交任务的代理器根据任务的类型和集群配置信息实例化计算引擎的Client,使用Client可以将任务提交到与租户有关联的指定集群,从而可以实现多集群多租户资源隔离。
进一步,作为本发明实施例的一种可选实施方式,参见图2,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统还可以包括:集群控制台103;发送任务的客户端101,具体用于根据任务所属的租户查询缓存,在查询到缓存中存储有集群配置信息时,从缓存中获取集群配置信息;在查询到缓存中没有存储集群配置信息时,从集群控制台103获取集群配置信息。通过缓存集群配置信息可以减少与集群控制台的网络通信。其中,作为本发明实施例的一个可选实施方式,集群控制台103,还用于通过Rest访问接口与发送任务的客户端101进行通信。
作为本发明实施例的一个可选实施方式,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统中,集群控制台103,还用于在变更集群配置信息时,触发事件通知,并将事件通知发送至发送任务的客户端101。具体地,集群控制台103可以提供Rest接口可以获取集群配置信息;管理集群配置信息;管理租户和Yarn队列的逻辑关系;使用cgroup控制集群中节点的系统资源,并交由Yarn队列进行分配;可以触发事件通知。
作为本发明实施例的一个可选实施方式,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统中,发送任务的客户端101,还用于接收事件通知,根据事件通知清理缓存。具体地,发送任务的客户端101用于:缓存集群配置信息,监听集群控制台的事件通知,处理集群事件和/或处理租户事件。具体地,发送任务的客户端101发送任务时先根据任务所属的租户,从集群控制台103获取关联的集群配置信息与任务进行拼装,继而发送给提交任务的代理器102;缓存集群配置信息减少与集群控制台的网络通信;接收事件通知并清理缓存;
提交任务的代理器102,具体可以包括:接收从发送任务的客户端101发来的任务;提取任务中的任务类型和集群配置信息等参数,实例化计算引擎的Client;使用计算引擎的Client最终将任务提交到关联的集群上执行。
由此可以通过集群控制台管理集群配置信息、管理租户和Yarn队列的逻辑关系,还可以通过cgroup控制集群节点的系统资源,通过Yarn队列分配集群计算资源,达到集群计算资源分配给租户的目的;还可以通过事件监听的方式及时清理缓存中的租户关联的集群配置信息数据,使发送任务的客户端被迫重新获取。
基于图1实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统,图3示出了本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法的流程图,参见图3,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法,包括:
S101,发送任务的客户端根据任务所属的租户获取集群配置信息;
S102,发送任务的客户端将任务与集群配置信息进行拼装,得到拼装信息,并将拼装信息发送至提交任务的代理器;
S103,提交任务的代理器接收拼装信息,提取任务中的任务类型和集群配置信息,实例化计算引擎的客户端,利用计算引擎的客户端将任务提交到关联的集群上通过Yarn队列执行。
基于此,可以通过发送任务的客户端根据任务所属的租户,并获取与租户关联的集群配置信息,与任务进行拼装后继续发送给提交任务的代理器,以通过提交任务的代理器根据任务的类型和集群配置信息实例化计算引擎的Client,使用Client可以将任务提交到与租户有关联的指定集群,从而可以实现多集群多租户资源隔离。
进一步,基于上述图2实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统,作为本发明实施例的一种可选实施方式,参见图4,其中,S101,发送任务的客户端根据任务所属的租户获取集群配置信息包括:
S1011,发送任务的客户端根据任务所属的租户查询缓存;
S1012,在查询到缓存中存储有集群配置信息时,从缓存中获取集群配置信息;
S1013,在查询到缓存中没有存储集群配置信息时,从集群控制台获取集群配置信息。
通过缓存集群配置信息可以减少与集群控制台的网络通信。其中,作为本发明实施例的一个可选实施方式,集群控制台通过Rest访问接口与发送任务的客户端进行通信。
作为本发明实施例的一个可选实施方式,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法还包括:集群控制台在变更集群配置信息时,触发事件通知,并将事件通知发送至发送任务的客户端。具体地,集群控制台具体用于:管理所有集群配置信息,添加新的集群配置信息,对已有的集群配置信息进行修改、删除操作,和/或管理租户和Yarn队列的逻辑关系;使用cgroup组件控制系统资源,通过Yarn队列分配集群中的计算资源;修改或删除集群配置信息时引发集群事件通知,和/或修改租户与Yarn队列的逻辑关系时引发租户事件通知。具体地,集群控制台可以提供Rest接口可以获取集群配置信息;管理集群配置信息;管理租户和Yarn队列的逻辑关系;使用cgroup控制集群中节点的系统资源,并交由Yarn队列进行分配;可以触发事件通知。
作为本发明实施例的一个可选实施方式,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的方法还包括:发送任务的客户端接收事件通知,根据事件通知清理缓存。具体地,发送任务的客户端具体用于:缓存集群配置信息,监听集群控制台的事件通知,处理集群事件和/或处理租户事件。具体地,发送任务的客户端发送任务时先根据任务所属的租户,从集群控制台获取关联的集群配置信息与任务进行拼装,继而发送给提交任务的代理器;缓存集群配置信息减少与集群控制台的网络通信;接收事件通知并清理缓存。
提交任务的代理器,具体可以包括:接收从发送任务的客户端发来的任务;提取任务中的任务类型和集群配置信息等参数,实例化计算引擎的Client;使用计算引擎的Client最终将任务提交到关联的集群上执行。
由此可以通过集群控制台管理集群配置信息、管理租户和Yarn队列的逻辑关系,还可以通过cgroup控制集群节点的系统资源,通过Yarn队列分配集群计算资源,达到集群计算资源分配给租户的目的;还可以通过事件监听的方式及时清理缓存中的租户关联的集群配置信息数据,使发送任务的客户端被迫重新获取。
图5-图7示出了本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统中各个部件的具体结构示意图,参见图5-图7,本发明实施例提供的基于Yarn队列实现多集群多租户资源隔离的系统,包括:
集群控制台、发送任务的客户端和提交任务的代理器;
其中,
集群控制台包括集群信息管理单元、资源控制单元和事件通知单元;
发送任务的客户端包括缓存器单元和事件处理单元;
其中,集群信息管理单元,用于管理所有集群配置信息,添加新的集群配置信息,对已有的集群配置信息进行修改、删除操作,和/或管理租户和Yarn队列的逻辑关系;
资源控制单元,用于使用Apache Hadoop Yarn作为统一的资源管理和调度框架,节点机器统一使用基于Linux内核的系统,并使用cgroup组件控制系统资源,和/或集群中的计算资源通过Yarn队列进行分配;
事件通知单元,用于修改或删除一个集群配置信息时引发集群事件通知,和/或修改租户与Yarn队列的逻辑关系时引发租户事件通知;
缓存器单元,用于缓存集群配置信息;
事件处理单元,用于监听事件通知单元,并接收事件通知,处理集群事件和/或处理租户事件。
具体地,在集群控制台管理集群的配置信息,管理租户-yarn队列的逻辑关系,将租户绑定到某一个Yarn队列上就是与这个集群建立了逻辑关系;发送任务的客户端在发送任务时需要先拿到集群配置信息,如果本地缓存没有数据则从集群控制台获取,然后将集群配置信息拼装到任务中;提交任务的代理器在接受到任务时,会根据任务类型和集群配置信息先实例化计算引擎的Client,最后通过Client将任务提交到关联的集群上执行。
其中,参见图5,集群控制台,包括:
集群信息管理单元:管理所有集群配置信息,可以添加新的集群配置信息,可以对已有的集群配置信息进行修改、删除操作;管理租户和Yarn队列的逻辑关系。
资源控制单元:集群使用Apache Hadoop Yarn作为统一的资源管理和调度框架;节点机器统一使用基于Linux内核的系统,并使用cgroup组件控制系统资源;集群中的计算资源通过Yarn队列进行分配。
事件通知单元:事件通知有两种类型,集群事件通知和租户事件通知;修改或删除一个集群配置信息时引发集群事件通知,以此集群关联的所有租户为事件内容触发事件通知;修改租户与Yarn队列的逻辑关系时引发租户事件通知,以此租户为事件内容触发事件通知。
另外,集群控制台还可以包括租户-yarn队列管理单元,用以将租户与Yarn队列建立逻辑关系
具体地,在所有集群的节点上先配置Yarn和cgroup;然后在集群控制台中管理集群配置信息,可以新增一个新的集群,添加完毕后会在管理界面显示该集群的Yarn队列信息;将租户与Yarn队列建立逻辑关系,间接地就是让租户与集群产生了逻辑关系;提供了获取集群配置信息的Rest接口;当集群配置信息或租户-yarn队列的关系发生变更时,会触发事件通知,及时地让处理事件的一方得到响应。
其中,参见图6,发送任务的客户端,包括:
缓存器单元:缓存集群配置信息的数据有两级,分为内存缓存和Redis缓存,支持多种缓存策略;发送任务的客户端在发送任务时,以任务所属的租户信息为条件,优先从缓存器中查找集群配置信息。
事件处理单元:监听事件通知单元,并接收事件通知;处理的事件有两种类型,集群事件和租户事件;处理集群事件时,将事件内容中所有租户的集群配置信息的缓存数据进行清理;处理租户事件时,将事件内容中的租户的集群配置信息的缓存数据进行清理。
具体地,发送任务的客户端在发送任务时,先以Rest访问方式,根据任务所属租户信息从集群控制台获取关联的集群配置信息;获取到的集群配置信息与任务进行拼装,继而发送给提交任务的代理器;将集群配置信息缓存在本地的缓存器中,减少发送任务的客户端与集群控制台之间的通信;会处理事件通知,及时地清理客户端上的缓存数据。
其中,参见图7,发提交任务的代理器,包括:
实例化计算引擎的Client。
具体地,提交任务的代理器接收从发送任务的客户端发来的任务;提取任务中的任务类型和集群配置信息等参数,实例化计算引擎的Client;最后通过计算引擎的Client将任务提交到关联的集群上执行。
图8示出了本发明实施例提供的一种具体的基于Yarn队列实现多集群多租户资源隔离的方法的流程图,但本发明并不局限于此,该方法包括:
开始任务;
发送任务的客户端根据租户查询缓存;
判断缓存是否命中,如果未命中,则从集群控制台获取集群配置信息,如果命中,则从缓存获取集群配置信息;
发送任务的客户端拼装任务和集群配置信息并发送至提交任务的代理器;
提交任务的代理器根据任务类型和集群信息实例化计算引擎Client;
提交任务的代理器提交任务到集群;
结束任务。
由此可见,可以通过发送任务的客户端根据任务所属的租户,并获取与租户关联的集群配置信息,与任务进行拼装后继续发送给提交任务的代理器,以通过提交任务的代理器根据任务的类型和集群配置信息实例化计算引擎的Client,使用Client可以将任务提交到与租户有关联的指定集群,从而可以实现多集群多租户资源隔离。
图9示出了本发明实施例提供的另一种具体的基于Yarn队列实现多集群多租户资源隔离的方法的流程图,但本发明并不局限于此,该方法包括:
1、集群控制台获取集群信息;
2、租户绑定到一个集群中的一个队列;
3、用户发送任务至发送任务的客户端,其中任务可以包括但不限于Spark任务、Flink任务和MapReduce任务;
4、发送任务的客户端从集群控制台获取集群配置信息并缓存在客户端;
5、在集群控制台变更集群配置时,触发事件通知,使发送任务的客户端清理缓存;
6、发送任务的客户端将任务和集群配置信息进行拼装,发送至提交任务的代理器;
7、提交任务的代理器实例化计算引擎的Client,并提交任务至集群,其中集群可以通过yarn队列执行任务,其中,实例化计算引擎的Client可以包括但不限于:Spark计算引擎的Client、Flink计算引擎的Client和MapReduce计算引擎的Client。
由此可见,可以通过发送任务的客户端根据任务所属的租户,并获取与租户关联的集群配置信息,与任务进行拼装后继续发送给提交任务的代理器,以通过提交任务的代理器根据任务的类型和集群配置信息实例化计算引擎的Client,使用Client可以将任务提交到与租户有关联的指定集群,从而可以实现多集群多租户资源隔离。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于Yarn队列实现多集群多租户资源隔离的方法,其特征在于,包括:
发送任务的客户端根据任务所属的租户获取集群配置信息;
发送任务的客户端将所述任务与所述集群配置信息进行拼装,得到拼装信息,并将所述拼装信息发送至提交任务的代理器;
所述提交任务的代理器接收所述拼装信息,提取所述任务中的任务类型和所述集群配置信息,实例化计算引擎的客户端,利用所述计算引擎的客户端将所述任务提交到关联的集群上通过Yarn队列执行。
2.根据权利要求1所述的方法,其特征在于,所述发送任务的客户端根据任务所属的租户获取集群配置信息包括:
发送任务的客户端根据所述任务所属的租户查询缓存;
在查询到缓存中存储有所述集群配置信息时,从缓存中获取所述集群配置信息;
在查询到缓存中没有存储所述集群配置信息时,从集群控制台获取所述集群配置信息。
3.根据权利要求2所述的方法,其特征在于,所述集群控制台通过Rest访问接口与所述发送任务的客户端进行通信。
4.根据权利要求2所述的方法,其特征在于,还包括:
所述集群控制台在变更所述集群配置信息时,触发事件通知,并将所述事件通知发送至所述发送任务的客户端。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述发送任务的客户端接收所述事件通知,根据所述事件通知清理缓存。
6.一种基于Yarn队列实现多集群多租户资源隔离的系统,其特征在于,包括:
发送任务的客户端,用于根据任务所属的租户获取集群配置信息,将所述任务与所述集群配置信息进行拼装,得到拼装信息,并将所述拼装信息发送至提交任务的代理器;
所述提交任务的代理器,用于接收所述拼装信息,提取所述任务中的任务类型和所述集群配置信息,实例化计算引擎的客户端,利用所述计算引擎的客户端将所述任务提交到关联的集群上通过Yarn队列执行。
7.根据权利要求6所述的系统,其特征在于,还包括:集群控制台;
所述发送任务的客户端,具体用于根据所述任务所属的租户查询缓存,在查询到缓存中存储有所述集群配置信息时,从缓存中获取所述集群配置信息;在查询到缓存中没有存储所述集群配置信息时,从所述集群控制台获取所述集群配置信息。
8.根据权利要求7所述的系统,其特征在于,所述集群控制台,还用于通过Rest访问接口与所述发送任务的客户端进行通信。
9.根据权利要求7所述的系统,其特征在于,所述集群控制台,还用于在变更所述集群配置信息时,触发事件通知,并将所述事件通知发送至所述发送任务的客户端,所述发送任务的客户端还用于接收所述事件通知,根据所述事件通知清理缓存。
10.一种基于Yarn队列实现多集群多租户资源隔离的系统,其特征在于,包括:
集群控制台、发送任务的客户端和提交任务的代理器;
其中,
所述集群控制台包括集群信息管理单元、资源控制单元和事件通知单元;
所述发送任务的客户端包括缓存器单元和事件处理单元;
其中,所述集群信息管理单元,用于管理所有集群配置信息,添加新的集群配置信息,对已有的集群配置信息进行修改、删除操作,和/或管理租户和Yarn队列的逻辑关系;
所述资源控制单元,用于使用Apache Hadoop Yarn作为统一的资源管理和调度框架,节点机器统一使用基于Linux内核的系统,并使用cgroup组件控制系统资源,和/或集群中的计算资源通过Yarn队列进行分配;
所述事件通知单元,用于修改或删除一个集群配置信息时引发集群事件通知,和/或修改租户与Yarn队列的逻辑关系时引发租户事件通知;
所述缓存器单元,用于缓存所述集群配置信息;
所述事件处理单元,用于监听所述事件通知单元,并接收事件通知,处理集群事件和/或处理租户事件。
CN201811541036.5A 2018-12-17 2018-12-17 基于Yarn队列实现多集群多租户资源隔离的方法及系统 Active CN109614241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811541036.5A CN109614241B (zh) 2018-12-17 2018-12-17 基于Yarn队列实现多集群多租户资源隔离的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811541036.5A CN109614241B (zh) 2018-12-17 2018-12-17 基于Yarn队列实现多集群多租户资源隔离的方法及系统

Publications (2)

Publication Number Publication Date
CN109614241A true CN109614241A (zh) 2019-04-12
CN109614241B CN109614241B (zh) 2024-03-12

Family

ID=66010252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811541036.5A Active CN109614241B (zh) 2018-12-17 2018-12-17 基于Yarn队列实现多集群多租户资源隔离的方法及系统

Country Status (1)

Country Link
CN (1) CN109614241B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532099A (zh) * 2019-08-30 2019-12-03 联想(北京)有限公司 资源隔离方法和装置以及电子设备和介质
CN111338770A (zh) * 2020-02-12 2020-06-26 咪咕文化科技有限公司 一种任务调度的方法、服务器和计算机可读存储介质
CN112130976A (zh) * 2020-09-21 2020-12-25 厦门南讯股份有限公司 一种基于rest的多引擎大数据任务管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957246A (zh) * 2014-04-22 2014-07-30 广州杰赛科技股份有限公司 基于租户感知的动态负载均衡方法及系统
CN105094984A (zh) * 2014-11-25 2015-11-25 航天恒星科技有限公司 资源调度的方法及系统
CN108132775A (zh) * 2016-11-30 2018-06-08 新华三技术有限公司 一种租户管理系统及方法
CN108737270A (zh) * 2018-05-07 2018-11-02 北京京东尚科信息技术有限公司 一种服务器集群的资源管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957246A (zh) * 2014-04-22 2014-07-30 广州杰赛科技股份有限公司 基于租户感知的动态负载均衡方法及系统
CN105094984A (zh) * 2014-11-25 2015-11-25 航天恒星科技有限公司 资源调度的方法及系统
CN108132775A (zh) * 2016-11-30 2018-06-08 新华三技术有限公司 一种租户管理系统及方法
CN108737270A (zh) * 2018-05-07 2018-11-02 北京京东尚科信息技术有限公司 一种服务器集群的资源管理方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532099A (zh) * 2019-08-30 2019-12-03 联想(北京)有限公司 资源隔离方法和装置以及电子设备和介质
CN110532099B (zh) * 2019-08-30 2022-05-31 联想(北京)有限公司 资源隔离方法和装置以及电子设备和介质
CN111338770A (zh) * 2020-02-12 2020-06-26 咪咕文化科技有限公司 一种任务调度的方法、服务器和计算机可读存储介质
CN112130976A (zh) * 2020-09-21 2020-12-25 厦门南讯股份有限公司 一种基于rest的多引擎大数据任务管理方法

Also Published As

Publication number Publication date
CN109614241B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
US11044310B2 (en) Automatic scaling of resource instance groups within compute clusters
US10713088B2 (en) Event-driven scheduling using directed acyclic graphs
US11005933B2 (en) Providing queueing in a log streaming messaging system
CN109491790B (zh) 基于容器的工业物联网边缘计算资源分配方法及系统
US10481948B2 (en) Data transfer in a collaborative file sharing system
US10560544B2 (en) Data caching in a collaborative file sharing system
US20150188969A1 (en) Upload operation using multiple connections
CN111108479A (zh) 自主多租户数据库云服务框架
CN102760074A (zh) 高负荷业务流程可扩展性
US10158709B1 (en) Identifying data store requests for asynchronous processing
CN108370328A (zh) 一种nfv mano策略描述符的管理方法及装置
CN105183470B (zh) 一种自然语言处理系统化服务平台
US11106641B2 (en) Supporting graph database backed object unmarshalling
CN109614241A (zh) 基于Yarn队列实现多集群多租户资源隔离的方法及系统
US11604682B2 (en) Pre-emptive container load-balancing, auto-scaling and placement
Xiong et al. Challenges for building a cloud native scalable and trustable multi-tenant AIoT platform
US20230300187A1 (en) Remotely discover and map a network resource model in a cloud environment
US20220207043A1 (en) Entity data services for virtualized computing and data systems
EP3011456B1 (en) Sorted event monitoring by context partition
CN110045983A (zh) 版本库管理方法、装置及服务器
Chaturvedi et al. Cost-effective sharing of streaming dataflows for IoT applications
US11316947B2 (en) Multi-level cache-mesh-system for multi-tenant serverless environments
CN114866416A (zh) 一种多集群统一管理系统及部署方法
US10831563B2 (en) Deadlock resolution between distributed processes using process and aggregated information
Beranek et al. Framework for Management of Multi-tenant Cloud Environments

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
CB02 Change of applicant information

Address after: 311121 room 102-1 / F, room 102-2 / F, building 6, Haizhi center, 2301 yuhangtang Road, Cangqian street, Yuhang District, Hangzhou, Zhejiang Province

Applicant after: HANGZHOU DAISHU TECHNOLOGY CO.,LTD.

Address before: 310030 8F, building 2, Hangzhou Internet innovation and entrepreneurship Park, 176 Zixia street, Xihu District, Hangzhou, Zhejiang

Applicant before: HANGZHOU DAISHU TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant