CN113296930B - 基于Hadoop的分配处理方法、装置及*** - Google Patents
基于Hadoop的分配处理方法、装置及*** Download PDFInfo
- Publication number
- CN113296930B CN113296930B CN202010612357.0A CN202010612357A CN113296930B CN 113296930 B CN113296930 B CN 113296930B CN 202010612357 A CN202010612357 A CN 202010612357A CN 113296930 B CN113296930 B CN 113296930B
- Authority
- CN
- China
- Prior art keywords
- physical
- user
- logical partition
- allocation
- host
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000009826 distribution Methods 0.000 title claims abstract description 33
- 238000005192 partition Methods 0.000 claims abstract description 340
- 238000013507 mapping Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 30
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 27
- 101150035323 RACK1 gene Proteins 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 238000012163 sequencing technique Methods 0.000 description 8
- 239000012634 fragment Substances 0.000 description 7
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 101150055976 gnb2l1 gene Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
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)
Abstract
本申请提供基于Hadoop的分配处理方法、装置及***,其中所述基于Hadoop的分配处理方法包括:接收用户针对Hadoop集群提交的宿主机分配请求;在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
Description
技术领域
本申请涉及分布式技术领域,特别涉及基于Hadoop的分配处理方法、装置及***。
背景技术
Hadoop作为一种对大量数据进行分布式处理的软件框架,通过多副本实现数据的高可用架构,随着云计算的发展也得到了越来越广泛的应用,用户对数据可用性的要求也越来越高,线下数据中心可以基于物理服务器的网络、电气等属性,合理的设置故障域,避免多副本同时宕机;但在公有云上,不会将云服务器的物理区域信息透出给客户,客户无法使用Hadoop的网络感知能力构建高可用架构,并且,云服务器有多台同时宕机的可能性,客户数据可能丢失。
发明内容
有鉴于此,本申请实施例提供了一种基于Hadoop的分配处理方法。本申请同时涉及一种基于Hadoop的分配处理装置,一种基于Hadoop的分配处理***,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种基于Hadoop的分配处理方法,包括:
接收用户针对Hadoop集群提交的宿主机分配请求;
在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
可选的,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。
可选的,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
可选的,所述基于Hadoop的分配处理方法,还包括:
在所述分配请求不携带分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架;
若是,向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机。
可选的,若所述判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区步骤执行之后的判断结果为否,执行如下操作:
在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;
判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;
若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机。
可选的,所述在所述Hadoop集群中创建所述分区标识对应的新逻辑分区,包括:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述新逻辑分区添加的物理机架,并建立与所述新逻辑分区的映射。
可选的,若所述判断所述逻辑分区映射的物理机架中是否存在可用物理机架步骤执行之后的判断结果为否,执行如下操作:
确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;
向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机。
可选的,所述确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射,包括:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射。
可选的,所述向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机步骤执行之后,包括:
生成所述宿主机对应的拓扑信息;
通过调用所述Hadoop集群的拓扑上传接口,向所述Hadoop集群提交所述拓扑信息。
可选的,所述宿主机包括:所述用户的专用宿主机。
本申请实施例的第二方面,提供了一种基于Hadoop的分配处理装置,包括:
分配请求接收模块,被配置为接收用户针对Hadoop集群提交的宿主机分配请求;
逻辑分区判断模块,被配置为在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,运行可用物理机架判断模块;所述可用物理机架判断模块,被配置为判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
若是,运行宿主机分配模块;所述宿主机分配模块,被配置为向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
本申请实施例的第三方面,提供了一种基于Hadoop的分配处理***,包括:
客户端,计算节点,分配节点;
所述客户端,用于接收用户针对Hadoop集群提交的宿主机分配请求,并将所述分配请求发送至所述计算节点;
所述计算节点,用于对所述分配请求进行解析,根据解析结果获得分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;若是,向所述分配节点发送分配指令;
所述分配节点,用于根据所述分配指令向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果。
可选的,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。
可选的,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
可选的,所述计算节点,还用于对所述分配请求进行解析,根据解析结果未获得分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架;若是,向所述分配节点发送分配指令;
相应的,所述分配节点,还用于根据所述分配指令向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果。
可选的,所述计算节点,还用于:
若所述判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区的判断结果为否,则在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;若是,向所述分配节点发送分配指令;
相应的,所述分配节点,还用于根据所述分配指令向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果。
可选的,所述计算节点,还用于:
若所述判断所述逻辑分区映射的物理机架中是否存在可用物理机架的判断结果为否,则确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;向所述分配节点发送分配指令;
相应的,所述分配节点,还用于根据所述分配指令向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果。
本申请实施例的第四方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收用户针对Hadoop集群提交的宿主机分配请求;
在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
本申请实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述基于Hadoop的分配处理方法的步骤。
本申请一实施例提供的基于Hadoop的分配处理方法,首先确定Hadoop集群中为用户分配宿主机的逻辑分区,然后基于确定的逻辑分区映射的物理机架中的可用物理机架,将可用物理机架上的物理机分配给用户作为宿主机,从而实现物理机架粒度的高可用,提升了宿主机分配的可用性,同时,降低了宿主机分配导致的物理机资源碎片率,提升了物理机资源的利用率。
附图说明
图1是本申请一实施例提供的一种基于Hadoop的分配处理方法处理流程图;
图2是本申请一实施例提供的第一种逻辑分区与物理机架的示意图;
图3是本申请一实施例提供的第二种逻辑分区与物理机架的示意图;
图4是本申请一实施例提供的一种应用于公有云环境的基于Hadoop的分配处理方法处理流程图;
图5是本申请一实施例提供的一种基于Hadoop的分配处理装置的结构示意图;
图6是本申请一实施例提供的一种基于Hadoop的分配处理***的结构示意图;
图7是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请中,提供了一种基于Hadoop的分配处理方法,本申请同时涉及一种基于Hadoop的分配处理装置,一种基于Hadoop的分配处理***,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
本申请提供的一种基于Hadoop的分配处理方法实施例如下:
参照附图1,其示出了本实施例提供的一种基于Hadoop的分配处理方法处理流程图,参见附图2,其示出了本实施例提供的第一种逻辑分区与物理机架的示意图,参见附图3,其示出了本实施例提供的第二种逻辑分区与物理机架的示意图,参见附图4,其示出了本实施例提供的一种应用于公有云环境的基于Hadoop的分配处理方法处理流程图。
步骤S102,接收用户针对Hadoop集群提交的宿主机分配请求。
实际应用中,通过将云服务器的物理位置透出给用户,为用户从物理位置为核心的拓扑信息出发构建高可用应用提供可能,而在公有云环境中,云服务器的物理位置透出给用户,主要有两种方式:为用户配置专用宿主机的方式,以及采用分区放置组(PartitionPlacement Groups)策略的部署方式。
其中,为用户配置专用宿主机的方式,是在用户创建云服务器时,指定目标专用宿主机,不同专用宿主机上的云服务器不会同时宕机,以此构建Hadoop高可用架构,这种方式不需要划分为多个逻辑调度域,同时用户需要整机购买,虽然不会导致资源碎片率上升,但降低了可用性。
采用分区放置组(Partition Placement Groups)策略的部署方式,是指任意两个采用分区放置组(Partition Placement Groups)策略部署的部署集当中云服务器不会再同一个物理机架上,但这种方式需要将物理资源划分为多个逻辑域,每个逻辑域对应一个部署集,会导致资源碎片率上升,而且对资源池的规模要数量要求也比较高。
本申请提供的基于Hadoop的分配处理方法,结合为用户配置专用宿主机的方式与采用分区放置组(Partition Placement Groups)策略的部署方式这两种方式,从用户请求分配宿主机的分配请求出发,首先确定Hadoop集群中为用户分配宿主机的逻辑分区,然后基于确定的逻辑分区映射的物理机架中的可用物理机架,将可用物理机架上的物理机分配给用户作为宿主机,从而实现物理机架粒度的高可用,提升了宿主机分配的可用性,同时,降低了宿主机分配导致的物理机资源碎片率,提升了物理机资源的利用率。
本申请实施例所述Hadoop集群,是指基于Hadoop架构搭建的分布式集群。可选的,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。如附图2所示的Hadoop集群,包含两个逻辑分区:Rack1和Rack2,二者分别部署有8个云服务器(server);其中,Rack1映射的物理机架有2个:物理机架1和物理机架2,Rack2映射的物理机架有3个:物理机架3、物理机架4和物理机架5,每个物理机架上部署有若干个物理机(物理服务器),逻辑分区部署的云服务器最终由物理机架上的物理机承载。
本申请实施例所述宿主机包括专用宿主机,所述专用宿主机是指部署了虚拟化环境的专属物理服务器,用户独享整台物理服务器资源,与其他用户的物理服务器之间物理隔离,用户获得专用宿主机之后,可在其上分配云服务器进行使用,支持用户自主规划物理机资源的使用,同时还支持自定义子机的配置。
需要说明的是,本申请实施例所述分配请求中携带的宿主机分配数目为多个,基于此,为了使用户申请分配的宿主机能够保持高可用,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上,从而通过将用户的申请的宿主机部署在不同的物理机架上,来避免物理机架出现故障导致用户的宿主机全部宕机的风险,以此来确保宿主机的高可用。
具体实施时,用户通过提交分配请求的方式来申请分配一定数目的宿主机,具体在提交所述分配请求时,一方面,用户可在Hadoop集群中指定分配宿主机的逻辑分区,这种情况下,用户提交的所述分配请求中携带有指定的逻辑分区的分区标识,后续基于所述分区标识进行分配处理,参见下述步骤S104;
另一方面,用户也可不指定分配宿主机的逻辑分区,这种情况下,用户提交的所述分配请求中并不携带分区标识,或者携带的分区标识为空,在对用户进行宿主机分配处理时,根据预先为用户分配的默认逻辑分区,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架(存在空闲物理机资源的物理机架);
若是,表明所述用户的默认逻辑分区映射的至少两个物理机架中,存在空闲物理机资源能够满足用户申请宿主机需求的物理机架,则向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机;
若否,表明所述用户的默认逻辑分区映射的至少两个物理机架中,不存在空闲物理机资源能够满足用户申请宿主机需求的物理机架,则需在物理机架中选择空闲的物理机架添加至所述默认逻辑分区,具体是通过建立空闲的物理机架与所述默认逻辑分区的映射来添加。
步骤S104,在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区。
如上述步骤S102所述,用户在Hadoop集群中指定分配的逻辑分区的情况下,即所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
如果存在,表明用户指定的逻辑分区为Hadoop集群中现存的逻辑分区,执行下述步骤S106;
如果不存在,则表明用户指定的逻辑分区在Hadoop集群中并不存在,执行如下操作:
1)在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;
本申请实施例提供的一种可选实施方式中,采用如下方式在所述Hadoop集群中进行所述新逻辑分区的创建:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述新逻辑分区添加的物理机架,并建立与所述新逻辑分区的映射;
2)判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;
若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机;
若否,则需在物理机架中选择空闲的物理机架添加至所述默认逻辑分区,具体是通过建立空闲的物理机架与所述默认逻辑分区的映射来添加。
例如,用户A申请4台专用宿主机,如果用户A在提交的分配请求中指定在Rack1这一逻辑分区进行分配,则基于Rack1这一逻辑分区对用户A进行专用宿主机分配;
但如果用户A在提交的分配请求中指定在Rack3这一逻辑分区进行分配,而Hadoop集群并不包含Rack3这一分区标识对应的逻辑分区,这种情况下,根据各物理机架上空闲物理机的数目,按照空闲物理机从大到小的排序顺序对物理机架进行排序,选择排序前两位的物理机架作为可用物理机架,与在Hadoop集群中的新逻辑分区Rack3建立映射;
建立映射之后,在这两个可用物理机架中空闲的物理机数目大于或者等于4的情况下,直接将这两个物理机架上空闲的物理机分配给用户A,作为用户A的专用宿主机,分配过程中需确保用户A的4台专用宿主机分布在两个物理机架上;在这两个可用物理机架中空闲的物理机数目小于4的情况下,选择向新逻辑分区Rack3添加的新的物理机架,并建立与新逻辑分区Rack3的映射,建立映射之后,在新逻辑分区Rack3映射的3个物理机架上为用户A分配4台专用宿主机。
步骤S106,判断所述逻辑分区映射的物理机架中是否存在可用物理机架。
在上述步骤S104判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区的判断结果为是的情况下,在此,进一步判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
如果存在,表明用户指定的逻辑分区映射的物理机架能够满足用户对宿主机的需求,执行下述步骤S108,向用户分配物理机即可;
如果不存在,表明用户指定的逻辑分区映射的物理机架无法满足用户对宿主机的需求,在这种情况下,为了确保向用户分配足够的宿主机,本申请实施例提供的一种可选实施方式中,采用如下方式向用户分配宿主机:
1)确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;
具体的,在确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射过程中,首先根据物理机架上可用物理机的数目,对物理机架进行排序,然后根据排序结果选择至少两个物理机架作为向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;
2)向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机。
例如,用户A想要申请4台物理机作为专用宿主机,如果用户A在提交的分配请求中指定在Rack1这一逻辑分区进行分配,则基于Rack1这一逻辑分区对用户A进行专用宿主机分配;
具体在Rack1这一逻辑分区为用户进行专用宿主机分配过程中,首先判断Rack1这一逻辑分区映射的物理机架1和物理机架2这两个物理机架中,是否存在空闲的物理机,如果不存在,则无法在物理机架1和物理机架2这两个物理机架为用户分配专用宿主机,需对物理机架1和物理机架2这两个物理机架之外的其他物理机架进行排序,并且按照空闲物理机从大到小的排序顺序进行排序,选择排序前两位的两个物理机架作为向Rack1这一逻辑分区添加的新物理机架,或者,选择空闲物理机在总物理机当中占比大于50%的两个物理机架作为向Rack1这一逻辑分区添加的新物理机架,并将选择的两个新物理机架与Rack1这一逻辑分区建立映射,建立映射之后,在这两个新物理机架上为用户A分配4台专用宿主机。
步骤S108,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
本步骤得以实施的前提是上述步骤S106判断所述逻辑分区映射的物理机架中是否存在可用物理机架的判断结果为是,在此基础上,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
沿用上例,用户A想要申请4台物理机作为专用宿主机,如果用户A在提交的分配请求中指定在Rack1这一逻辑分区进行分配,则基于Rack1这一逻辑分区对用户A进行专用宿主机分配,分配后用户A的4台专用宿主机如附图3所示。
具体实施时,在向所述用户分配宿主机之后,生成所述宿主机对应的拓扑信息,并通过调用所述Hadoop集群的拓扑上传接口,向所述Hadoop集群提交所述拓扑信息。比如,生成向用户A分配的4台专用宿主机的拓扑信息,然后调用DNS To Switch Mapping接口将拓扑信息提交至Hadoop集群,Hadoop集群启动之后,会根据提交的拓扑信息,结合自身的副本机制,将数据的3个副本分别放置在几台专用宿主机部署的云服务器上。
实际应用中,在完成上述用户的宿主机的分配之后,用户还可以在宿主机上部署云服务器,具体在部署过程中,用户在创建云服务器时,可以手动选择将云服务器部署在指定宿主机上,比如用户A将云服务器部署在专用宿主机1上;如果用户在部署云服务器过程中没有指定专用宿主机,则按照资源售卖率对用户的专用宿主机进行排序,并且按照资源售卖率从小到大的顺序进行排序,选择排序后首位的专用宿主机部署云服务器,比如,用户A的4台专用宿主机(1至4)的CPU售卖率分别为:专用宿主机3:CPU售卖率10%,专用宿主机2:CPU售卖率30%,专用宿主机4:CPU售卖率50%,专用宿主机1:CPU售卖率75%,则将云服务器部署在专用宿主机3上。
下述结合附图4,以本申请提供的基于Hadoop的分配处理方法在公有云环境中的应用为例,对所述基于Hadoop的分配处理方法进行进一步说明。其中,图4示出了本申请一实施例提供的一种应用于公有云环境的基于Hadoop的分配处理方法处理流程图,具体包括以下步骤:
步骤S402,接收用户针对Hadoop集群提交的专用宿主机分配请求。
公有云的用户在部署专用宿主机时,可通过提交分配请求来申请分配所需的专用宿主机,用户即可以在分配请求中指定分配专用宿主机的逻辑分区,也可以不指定分配专用宿主机的逻辑分区。
步骤S404,判断分配请求中是否携带分区标识。
若存在,执行步骤S406;
若不存在,判断用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架(存在空闲物理机资源的物理机架);
若是,表明用户的默认逻辑分区映射的至少两个物理机架中,存在空闲物理机资源能够满足用户申请专用宿主机需求的物理机架,则向用户分配第二可用物理机架上的物理机,作为用户的专用宿主机;
若否,表明用户的默认逻辑分区映射的至少两个物理机架中,不存在空闲物理机资源能够满足用户申请专用宿主机需求的物理机架,则需在物理机架中选择空闲的物理机架添加至默认逻辑分区,具体是通过建立空闲的物理机架与默认逻辑分区的映射来添加。
步骤S406,判断Hadoop集群中是否存在分区标识对应的逻辑分区。
如果存在,表明用户指定的逻辑分区为Hadoop集群中现存的逻辑分区,执行步骤S408;
如果不存在,则表明用户指定的逻辑分区在Hadoop集群中并不存在,执行如下操作:
1)在Hadoop集群中创建分区标识对应的新逻辑分区;
具体采用如下方式在Hadoop集群中进行新逻辑分区的创建:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向新逻辑分区添加的物理机架,并建立与新逻辑分区的映射;
2)判断新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于分配请求中携带的专用宿主机数目;
若是,向用户分配可用物理机架上的物理机作为专用宿主机;
若否,在物理机架中选择空闲的物理机架添加至默认逻辑分区,具体是通过建立空闲的物理机架与默认逻辑分区的映射来添加。
步骤S408,判断逻辑分区映射的物理机架中是否存在可用物理机架。
如果存在,表明用户指定的逻辑分区映射的物理机架能够满足用户对专用宿主机的需求,执行步骤S410;
如果不存在,表明用户指定的逻辑分区映射的物理机架无法满足用户对专用宿主机的需求,为了确保向用户分配足够的专用宿主机,采用如下方式进行分配:
1)确定向逻辑分区添加的新物理机架,并建立与逻辑分区的映射;
具体的,在确定向逻辑分区添加的新物理机架,并建立与逻辑分区的映射过程中,首先根据物理机架上可用物理机的数目,对物理机架进行排序,然后根据排序结果选择至少两个物理机架作为向逻辑分区添加的新物理机架,并建立与逻辑分区的映射;
2)向用户分配新物理机架上的物理机作为专用宿主机。
步骤S410,向用户分配可用物理机架上的物理机作为专用宿主机。
步骤S412,确定向逻辑分区添加的新物理机架,并建立与逻辑分区的映射。
具体的,在确定向逻辑分区添加的新物理机架,并建立与逻辑分区的映射过程中,首先根据物理机架上可用物理机的数目,对物理机架进行排序,然后根据排序结果选择至少两个物理机架作为向逻辑分区添加的新物理机架,并建立与逻辑分区的映射。
步骤S414,向用户分配新物理机架上的物理机作为专用宿主机。
综上所述,所述基于Hadoop的分配处理方法,首先确定Hadoop集群中为用户分配专用宿主机的逻辑分区,然后基于确定的逻辑分区映射的物理机架中的可用物理机架,将可用物理机架上的物理机分配给用户作为宿主机,从而实现物理机架粒度的高可用,提升了宿主机分配的可用性,同时,降低了宿主机分配导致的物理机资源碎片率,提升了物理机资源的利用率。
本申请提供的一种基于Hadoop的分配处理装置实施例如下:
与上述方法实施例相对应,本申请还提供了基于Hadoop的分配处理装置实施例,图5示出了本申请一实施例提供的一种基于Hadoop的分配处理装置的结构示意图。如图5所示,该装置包括:
分配请求接收模块502,被配置为接收用户针对Hadoop集群提交的宿主机分配请求;
逻辑分区判断模块504,被配置为在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,运行可用物理机架判断模块506;所述可用物理机架判断模块506,被配置为判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
若是,运行宿主机分配模块508;所述宿主机分配模块508,被配置为向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
可选的,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。
可选的,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
可选的,所述基于Hadoop的分配处理装置,还包括:
第一判断模块,被配置为在所述分配请求不携带分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架;若是,向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机。
可选的,若所述逻辑分区判断模块504运行后的判断结果为否,运行新逻辑分区创建模块和第二判断模块;
所述新逻辑分区创建模块,被配置为在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;
所述第二判断模块,被配置为判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机。
可选的,所述新逻辑分区创建模块,包括:
第一排序子模块,被配置为根据物理机架上可用物理机的数目,对物理机架进行排序;
第一添加子模块,被配置为根据排序结果选择至少两个物理机架作为向所述新逻辑分区添加的物理机架,并建立与所述新逻辑分区的映射。
可选的,若所述可用物理机架判断模块506运行之后的判断结果为否,运行新物理机架添加模块和第二宿主机分配模块;
所述新物理机架添加模块,被配置为确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;
所述第二宿主机分配模块,被配置为向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机。
可选的,所述新物理机架添加模块,包括:
第二排序子模块,被配置为根据物理机架上可用物理机的数目,对物理机架进行排序;
第二添加子模块,被配置为根据排序结果选择至少两个物理机架作为向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射。
可选的,所述基于Hadoop的分配处理装置,还包括:
拓扑信息生成模块,被配置为生成所述宿主机对应的拓扑信息;
拓扑信息上传模块,被配置为通过调用所述Hadoop集群的拓扑上传接口,向所述Hadoop集群提交所述拓扑信息。
可选的,所述宿主机包括:所述用户的专用宿主机。
上述为本实施例的一种基于Hadoop的分配处理装置的示意性方案。需要说明的是,该基于Hadoop的分配处理装置的技术方案与上述的基于Hadoop的分配处理方法的技术方案属于同一构思,基于Hadoop的分配处理装置的技术方案未详细描述的细节内容,均可以参见上述基于Hadoop的分配处理方法的技术方案的描述。
本申请提供的一种基于Hadoop的分配处理***实施例如下:
本申请提供了基于Hadoop的分配处理***实施例,图6示出了本申请一实施例提供的一种基于Hadoop的分配处理***的结构示意图。如图6所示,基于Hadoop的分配处理***600包括:客户端602,计算节点604,分配节点606;
所述客户端602,用于接收用户针对Hadoop集群提交的宿主机分配请求,并将所述分配请求发送至所述计算节点604;
所述计算节点604,用于对所述分配请求进行解析,根据解析结果获得分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;若是,向所述分配节点606发送分配指令;
所述分配节点606,用于根据所述分配指令向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机,并向所述客户端602返回宿主机分配结果。
实际应用中,通过将云服务器的物理位置透出给用户,为用户从物理位置为核心的拓扑信息出发构建高可用应用提供可能,而在公有云环境中,云服务器的物理位置透出给用户,主要有两种方式:为用户配置专用宿主机的方式,以及采用分区放置组(PartitionPlacement Groups)策略的部署方式。但是为用户配置专用宿主机的方式,存在着可用性低的问题,采用分区放置组(Partition Placement Groups)策略的部署方式,存在着资源碎片率上升的问题,而且对资源池的规模要数量要求也比较高。
本申请提供的基于Hadoop的分配处理***,为了能够提高宿主机的可用性,以及降低资源碎片率,在通过客户端接收到用户的分配请求后,通过计算节点确定Hadoop集群中为用户分配宿主机的逻辑分区,然后基于确定的逻辑分区映射的物理机架中的可用物理机架,此时再向***中的分配节点发送分配指令,由分配节点将可用物理机架上的物理机分配给用户作为宿主机,并向客户端返回分配结果,实现物理机架粒度的高可用,提升了宿主机分配的可用性,同时,降低了宿主机分配导致的物理机资源碎片率,进一步提升了物理机资源的利用率。
具体实施时,所述Hadoop集群,是指基于Hadoop架构搭建的分布式集群;其中,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。每个物理机架上部署有若干个物理机(物理服务器),逻辑分区部署的云服务器最终由物理机架上的物理机承载。
进一步的,所述宿主机包括专用宿主机,所述专用宿主机是指部署了虚拟化环境的专属物理服务器,用户独享整台物理服务器资源,与其他用户的物理服务器之间物理隔离,用户获得专用宿主机之后,可在其上分配云服务器进行使用,支持用户自主规划物理机资源的使用,同时还支持自定义子机的配置。
需要说明的是,本实施例提供的基于Hadoop的分配处理***,与上述基于Hadoop的分配处理方法描述内容相似,具体内容均可参见上述基于Hadoop的分配处理方法对应的描述内容,本实施例在此不作过多赘述。
本实施例中,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
进一步的,用户在提交所述分配请求的过程中,可能所述分配请求中并未携带有分区标识,此时为了能够依旧向用户分配物理机,可以通过计算节点604预先为用户分配的默认逻辑分区,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架(存在空闲物理机资源的物理机架);
若是,表明所述用户的默认逻辑分区映射的至少两个物理机架中,存在空闲物理机资源能够满足用户申请宿主机需求的物理机架,则向所述分配节点606发送分配指令即可,所述分配节点606即可根据所述分配指令向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机,并向所述客户端602返回宿主机分配结果;
若否,表明所述用户的默认逻辑分区映射的至少两个物理机架中,不存在空闲物理机资源能够满足用户申请宿主机需求的物理机架,则需在物理机架中选择空闲的物理机架添加至所述默认逻辑分区,具体是通过建立空闲的物理机架与所述默认逻辑分区的映射来添加。
更进一步的,所述计算节点604在解析所述分配请求获得分区标识的情况下,还需要判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;如果存在,则表明用户指定的逻辑分区为Hadoop集群中现存的逻辑分区;如果不存在,则表明用户指定的逻辑分区在Hadoop集群中并不存在,此时所述计算节点604可以在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;
若是,向所述分配节点发送分配指令;此时分配节点606即可根据所述分配指令向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机,并向所述客户端602返回宿主机分配结果;
若否,则需在物理机架中选择空闲的物理机架添加至所述默认逻辑分区,具体是通过建立空闲的物理机架与所述默认逻辑分区的映射来添加。
例如,用户A通过客户端申请4台专用宿主机,如果计算节点确定用户A在提交的分配请求中指定在Rack1这一逻辑分区进行分配,则分配节点可以基于Rack1这一逻辑分区对用户A进行专用宿主机分配;
但如果用户A在提交的分配请求中指定在Rack3这一逻辑分区进行分配,而Hadoop集群并不包含Rack3这一分区标识对应的逻辑分区,这种情况下,根据各物理机架上空闲物理机的数目,按照空闲物理机从大到小的排序顺序对物理机架进行排序,选择排序前两位的物理机架作为可用物理机架,与在Hadoop集群中的新逻辑分区Rack3建立映射;
建立映射之后,在这两个可用物理机架中空闲的物理机数目大于或者等于4的情况下,直接通过分配节点将这两个物理机架上空闲的物理机分配给用户A,作为用户A的专用宿主机即可,分配过程中需确保用户A的4台专用宿主机分布在两个物理机架上;在这两个可用物理机架中空闲的物理机数目小于4的情况下,计算节点需要选择向新逻辑分区Rack3添加的新的物理机架,并建立与新逻辑分区Rack3的映射,建立映射之后,分配节点才可以在新逻辑分区Rack3映射的3个物理机架上为用户A分配4台专用宿主机。
此外,若所述计算节点604确定Hadoop集群中存在所述分区标识对应的逻辑分区的情况下,还需要判断所述逻辑分区映射的物理机架中是否存在可用物理机架;如果存在,表明用户指定的逻辑分区映射的物理机架能够满足用户对宿主机的需求,则通过分配节点606进行物理机分配即可,如果不存在,表明用户指定的逻辑分区映射的物理机架无法满足用户对宿主机的需求,在这种情况下,为了确保分配节点606还可以向用户分配足够的宿主机,计算节点604可以确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;向所述分配节点606发送分配指令;之后所述分配节点606即可根据所述分配指令向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机,并向所述客户端602返回宿主机分配结果。
沿用上例,用户A通过客户端想要申请4台物理机作为专用宿主机,如果用户A在提交的分配请求中指定在Rack1这一逻辑分区进行分配,则计算节点即可基于Rack1这一逻辑分区对用户A进行专用宿主机分配;
计算节点和分配节点具体在Rack1这一逻辑分区为用户进行专用宿主机分配过程中,计算节点首先需要判断Rack1这一逻辑分区映射的物理机架1和物理机架2这两个物理机架中,是否存在空闲的物理机,如果不存在,则无法在物理机架1和物理机架2这两个物理机架为用户分配专用宿主机,需对物理机架1和物理机架2这两个物理机架之外的其他物理机架进行排序,并且按照空闲物理机从大到小的排序顺序进行排序,选择排序前两位的两个物理机架作为向Rack1这一逻辑分区添加的新物理机架,或者,选择空闲物理机在总物理机当中占比大于50%的两个物理机架作为向Rack1这一逻辑分区添加的新物理机架,并将选择的两个新物理机架与Rack1这一逻辑分区建立映射,建立映射之后,分配节点即可在这两个新物理机架上为用户A分配4台专用宿主机。
实际应用中,向所述客户端返回的宿主机分配结果具体是指通过客户端提醒所述用户完成了宿主机的分配,用户可以对宿主机进行资源分配,即用户可以在宿主机上部署云服务器,具体在部署过程中,用户在创建云服务器时,可以手动选择将云服务器部署在指定宿主机上,比如用户A将云服务器部署在专用宿主机1上;如果用户在部署云服务器过程中没有指定专用宿主机,则按照资源售卖率对用户的专用宿主机进行排序,并且按照资源售卖率从小到大的顺序进行排序,选择排序后首位的专用宿主机部署云服务器,比如,用户A的4台专用宿主机(至4)的CPU售卖率分别为:专用宿主机3:CPU售卖率10%,专用宿主机2:CPU售卖率30%,专用宿主机4:CPU售卖率50%,专用宿主机1:CPU售卖率75%,则将云服务器部署在专用宿主机3上。
本申请提供的基于Hadoop的分配处理***,为了能够提高宿主机的可用性,以及降低资源碎片率,在通过客户端接收到用户的分配请求后,通过计算节点确定Hadoop集群中为用户分配宿主机的逻辑分区,然后基于确定的逻辑分区映射的物理机架中的可用物理机架,此时再向***中的分配节点发送分配指令,由分配节点将可用物理机架上的物理机分配给用户作为宿主机,并向客户端返回分配结果,实现物理机架粒度的高可用,提升了宿主机分配的可用性,同时,降低了宿主机分配导致的物理机资源碎片率,进一步提升了物理机资源的利用率。
图7示出了根据本申请一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令:
接收用户针对Hadoop集群提交的宿主机分配请求;
在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
可选的,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。
可选的,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
可选的,所述处理器720还用于执行如下计算机可执行指令:
在所述分配请求不携带分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架;
若是,向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机。
可选的,若所述判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区指令执行之后的判断结果为否,所述处理器720还用于执行如下计算机可执行指令:
在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;
判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;
若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机。
可选的,所述在所述Hadoop集群中创建所述分区标识对应的新逻辑分区,包括:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述新逻辑分区添加的物理机架,并建立与所述新逻辑分区的映射。
可选的,若所述判断所述逻辑分区映射的物理机架中是否存在可用物理机架指令执行之后的判断结果为否,所述处理器720还用于执行如下计算机可执行指令:
确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;
向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机。
可选的,所述确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射,包括:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射。
可选的,所述向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机指令执行之后,所述处理器720还用于执行如下计算机可执行指令:
生成所述宿主机对应的拓扑信息;
通过调用所述Hadoop集群的拓扑上传接口,向所述Hadoop集群提交所述拓扑信息。
可选的,所述宿主机包括:所述用户的专用宿主机。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于Hadoop的分配处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于Hadoop的分配处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
接收用户针对Hadoop集群提交的宿主机分配请求;
在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;
若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于Hadoop的分配处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于Hadoop的分配处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种基于Hadoop的分配处理方法,包括:
接收用户针对Hadoop集群提交的宿主机分配请求;
在所述分配请求不携带分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架,若是,向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机;
在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架,若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机,若否,确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射,向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机;
若不存在,在所述Hadoop集群中创建所述分区标识对应的新逻辑分区,判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目,若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机。
2.根据权利要求1所述的基于Hadoop的分配处理方法,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。
3.根据权利要求2所述的基于Hadoop的分配处理方法,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
4.根据权利要求1所述的基于Hadoop的分配处理方法,所述在所述Hadoop集群中创建所述分区标识对应的新逻辑分区,包括:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述新逻辑分区添加的物理机架,并建立与所述新逻辑分区的映射。
5.根据权利要求1所述的基于Hadoop的分配处理方法,所述确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射,包括:
根据物理机架上可用物理机的数目,对物理机架进行排序;
根据排序结果选择至少两个物理机架作为向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射。
6.根据权利要求1所述的基于Hadoop的分配处理方法,所述向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机步骤执行之后,包括:
生成所述宿主机对应的拓扑信息;
通过调用所述Hadoop集群的拓扑上传接口,向所述Hadoop集群提交所述拓扑信息。
7.根据权利要求1至6任意一项所述的基于Hadoop的分配处理方法,所述宿主机包括:所述用户的专用宿主机。
8.一种基于Hadoop的分配处理装置,包括:
分配请求接收模块,被配置为接收用户针对Hadoop集群提交的宿主机分配请求;
第一判断模块,被配置为在所述分配请求不携带分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架,若是,向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机;
逻辑分区判断模块,被配置为在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,运行可用物理机架判断模块;所述可用物理机架判断模块,被配置为判断所述逻辑分区映射的物理机架中是否存在可用物理机架,若是,运行宿主机分配模块;所述宿主机分配模块,被配置为向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机;若否,运行新物理机架添加模块和第二宿主机分配模块;所述新物理机架添加模块,被配置为确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;所述第二宿主机分配模块,被配置为向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机;
若不存在,运行新逻辑分区创建模块和第二判断模块;所述新逻辑分区创建模块,被配置为在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;所述第二判断模块,被配置为判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目,若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机。
9.一种基于Hadoop的分配处理***,包括:
客户端,计算节点,分配节点;
所述客户端,用于接收用户针对Hadoop集群提交的宿主机分配请求,并将所述分配请求发送至所述计算节点;
所述计算节点,用于对所述分配请求进行解析,根据解析结果未获得分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架;若是,向所述分配节点发送分配指令;所述分配节点,用于根据所述分配指令向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果;
所述计算节点,还用于对所述分配请求进行解析,根据解析结果获得分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架;若是,向所述分配节点发送分配指令;所述分配节点,还用于根据所述分配指令向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果;
所述计算节点,还用于若所述判断所述逻辑分区映射的物理机架中是否存在可用物理机架的判断结果为否,则确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射;向所述分配节点发送分配指令;所述分配节点,还用于根据所述分配指令向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果;
所述计算节点,还用于若所述判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区的判断结果为否,则在所述Hadoop集群中创建所述分区标识对应的新逻辑分区;判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目;若是,向所述分配节点发送分配指令;所述分配节点,还用于根据所述分配指令向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机,并向所述客户端返回宿主机分配结果。
10.根据权利要求9所述的基于Hadoop的分配处理***,所述分配请求中携带的宿主机分配数目为多个;并且,为所述用户分配的宿主机中至少有两台宿主机部署于不同的物理机架上。
11.根据权利要求10所述的基于Hadoop的分配处理***,所述Hadoop集群包含至少两个逻辑分区,每个逻辑分区映射至少两个物理机架。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收用户针对Hadoop集群提交的宿主机分配请求;
在所述分配请求不携带分区标识的情况下,判断所述用户的默认逻辑分区映射的至少两个物理机架中是否存在第二可用物理机架,若是,向所述用户分配所述第二可用物理机架上的物理机,作为所述用户的宿主机;
在所述分配请求携带分区标识的情况下,判断所述Hadoop集群中是否存在所述分区标识对应的逻辑分区;
若存在,判断所述逻辑分区映射的物理机架中是否存在可用物理机架,若是,向所述用户分配所述可用物理机架上的物理机,作为所述用户的宿主机,若否,确定向所述逻辑分区添加的新物理机架,并建立与所述逻辑分区的映射,向所述用户分配所述新物理机架上的物理机,作为所述用户的宿主机;
若不存在,在所述Hadoop集群中创建所述分区标识对应的新逻辑分区,判断所述新逻辑分区映射的物理机架中可用物理机的数目是否大于或者等于所述分配请求中携带的宿主机数目,若是,向所述用户分配所述物理机架上的可用物理机,作为所述用户的宿主机。
13.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至7任意一项所述基于Hadoop的分配处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612357.0A CN113296930B (zh) | 2020-06-30 | 2020-06-30 | 基于Hadoop的分配处理方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612357.0A CN113296930B (zh) | 2020-06-30 | 2020-06-30 | 基于Hadoop的分配处理方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113296930A CN113296930A (zh) | 2021-08-24 |
CN113296930B true CN113296930B (zh) | 2024-03-08 |
Family
ID=77318081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010612357.0A Active CN113296930B (zh) | 2020-06-30 | 2020-06-30 | 基于Hadoop的分配处理方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113296930B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681899A (zh) * | 2011-03-14 | 2012-09-19 | 金剑 | 云计算服务平台的虚拟计算资源动态管理*** |
WO2013097147A1 (zh) * | 2011-12-29 | 2013-07-04 | 华为技术有限公司 | 云计算***和管理云计算***中存储资源的方法 |
CN104734892A (zh) * | 2015-04-02 | 2015-06-24 | 江苏物联网研究发展中心 | 大数据处理***Hadoop在云平台OpenStack上自动部署*** |
CN107707688A (zh) * | 2017-10-19 | 2018-02-16 | 杭州数梦工场科技有限公司 | 一种kubernetes集群解析宿主机主机名的方法及装置 |
CN107861790A (zh) * | 2017-10-27 | 2018-03-30 | 新华三云计算技术有限公司 | 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质 |
CN110377399A (zh) * | 2019-07-22 | 2019-10-25 | 中国联合网络通信集团有限公司 | HBase容器化方法、装置、设备及可读存储介质 |
CN111338745A (zh) * | 2019-04-25 | 2020-06-26 | ***通信集团湖南有限公司 | 一种虚拟机的部署方法、装置及智能设备 |
-
2020
- 2020-06-30 CN CN202010612357.0A patent/CN113296930B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681899A (zh) * | 2011-03-14 | 2012-09-19 | 金剑 | 云计算服务平台的虚拟计算资源动态管理*** |
WO2013097147A1 (zh) * | 2011-12-29 | 2013-07-04 | 华为技术有限公司 | 云计算***和管理云计算***中存储资源的方法 |
CN104734892A (zh) * | 2015-04-02 | 2015-06-24 | 江苏物联网研究发展中心 | 大数据处理***Hadoop在云平台OpenStack上自动部署*** |
CN107707688A (zh) * | 2017-10-19 | 2018-02-16 | 杭州数梦工场科技有限公司 | 一种kubernetes集群解析宿主机主机名的方法及装置 |
CN107861790A (zh) * | 2017-10-27 | 2018-03-30 | 新华三云计算技术有限公司 | 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质 |
CN111338745A (zh) * | 2019-04-25 | 2020-06-26 | ***通信集团湖南有限公司 | 一种虚拟机的部署方法、装置及智能设备 |
CN110377399A (zh) * | 2019-07-22 | 2019-10-25 | 中国联合网络通信集团有限公司 | HBase容器化方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
广东电网企业云基础设施服务层建设技术规范研究;陈英达;温柏坚;黄巨涛;林强;唐亮亮;;微型电脑应用(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113296930A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10347542B2 (en) | Client-initiated leader election in distributed client-server systems | |
US11637889B2 (en) | Configuration recommendation for a microservice architecture | |
US9465644B2 (en) | Selection of virtual machines from pools of pre-provisioned virtual machines in a networked computing environment | |
JP6751780B2 (ja) | アクセラレーション・リソース処理方法及び装置 | |
US7433931B2 (en) | Scheduling in a high-performance computing (HPC) system | |
US20110213886A1 (en) | Intelligent and Elastic Resource Pools for Heterogeneous Datacenter Environments | |
CN106302574B (zh) | 一种业务可用性管理方法、装置及其网络功能虚拟化架构 | |
CN112506669A (zh) | 任务分配方法和装置、存储介质及电子设备 | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
US20160266918A1 (en) | Data assignment and data scheduling for physical machine in a virtual machine environment | |
CN105144109B (zh) | 分布式数据中心技术 | |
WO2017193850A1 (zh) | 一种终端的接入调度方法、装置及计算机存储介质 | |
CN113961312A (zh) | 目标服务的部署方法、装置和电子设备 | |
CN106790332B (zh) | 一种资源调度方法、***及主节点 | |
CN111542812A (zh) | 基于虚拟节点资源的增强型高速缓存存储器分配 | |
CN112035244A (zh) | 在多租户环境中虚拟节点集群的部署 | |
CN108228350B (zh) | 一种资源分配方法及装置 | |
CN110944067A (zh) | 一种负载均衡方法和服务器 | |
CN113296930B (zh) | 基于Hadoop的分配处理方法、装置及*** | |
KR20170014804A (ko) | 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 | |
US10592221B2 (en) | Parallel distribution of application services to virtual nodes | |
WO2023169106A1 (zh) | 一种内容分发网络域名调度方法及装置 | |
CN106302075B (zh) | 一种创建逻辑卷的方法及装置 | |
CN110380930A (zh) | 一种测试方法、装置及服务器、计算机存储介质 | |
CN110190988A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40058617 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |