基于量化标签的Yarn资源调度器的制造方法

文档序号:9910834阅读:464来源:国知局
基于量化标签的Yarn资源调度器的制造方法
【技术领域】
[0001]本发明涉及通信及大数据领域,尤其涉及一种基于量化标签的Yarn资源调度器。
【背景技术】
[0002]随着大数据时代的到来,用于处理大量数据的分布式计算平台也应运而生,解决各种各样的大数据问题。其中,Hadoop作为一种开源的分布式的批处理计算框架而被最为广泛地使用,受到越来越多的关注。Hadoop最初是由Mapreduce编程模型和分布式文件系统(HDFS)构成Japreduce以key-value的形式表示待处理数据,在Map中,可以将一个大任务分成多个可并行的小任务执行,Reduce过程将Map中key相同的value值进行归并。Mapreduce是一个抽象的编程模型,多种类型的大数据分析任务都可以转化成Mapreduce来进行并行计算。
[0003]在Hadoop中,有一个管理进程负责总体的资源管理与作业调度,每个计算节点也分别有用于作业执行的线程,计算节点的线程可以向管理进程汇报节点的状况。管理节点也可以通过计算节点汇报的情况来分配新任务,进行一些容错工作。Hadoop调度是一个可插拔的模块,使用者可以根据自己的需求进行替换。Hadoop提供的调度模块有三种实现,分别是FIFO、Capacity Scheduler(容量调度器)、Fair Scheduler(公平调度器)。
[0004]FIFO调度器是一种最简单的调度方式,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。Hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾。一个作业运行完后,总是从队首取下一个作业运行。这种调度策略的优点是简单、易于实现,同时也减轻了管理进程的负担。但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑到作业的紧迫程度,另外对小作业的运行不利。Capacity Scheduler和Fair Scheduler比较类似,都是针对多任务队列的调度。Fair Scheduler是以作业池为单位分配任务槽,而Capacity Scheduler是以队列为单位分配资源的。
[0005]随着集群规模的扩大,异构集群也越来越普遍。异构集群中的计算节点有不同的计算能力。不同的计算能力的节点合适做不同类型的任务,如计算能力强的节点可以查询等任务,可以加快查询的速度;计算能力较弱的节点适合做长任务,如Storm等长期服务且重要级别比较低的任务。Hadoop为了适应异构机群,推出了基于标签的调度,这种调度会为每个节点加上标签。每个任务队列也拥有对应的标签,使得合适的任务调度到合适的节点执行。但是这种标签的方式也过于粗放,无法将特定类型的任务分配到具有某特点的节点之上,造成任务调度的不合理和资源利用率低的问题

【发明内容】

[0006]提供一种基于量化标签的Yarn资源调度器,其解决了现有技术的任务调度的不合理和资源利用率低的问题。
[0007]一方面,提供一种基于量化标签的Yarn资源调度器,所述资源调度器包括:
[0008]节点配置模块,用于配制节点标签,所述节点标签可以包括:量化的用于表示该节点资源大小的数组;
[0009]队列配置模块,用于配制队列标签,该队列标签可以包括:量化的用于表示该队列任务所需资源大小的数组;
[0010]调度模块,用于依据该配制节点标签和队列标签将队列任务分配到节点中执行。
[0011]可选的,所述调度模块,具体用于队列标签对任务队列中的任务进行判别,确定任务的种类,其次查看对应的可用节点列表,将任务分配到符合该队列任务所需资源大小的对应的节点上。
[0012]可选的,所述量化的用于表示该节点资源大小的数组为二元数组,所述二元数组包括:资源类型以及量化数量。
[0013]可选的,所述量化的用于表示该队列任务所需资源大小的数组为二元数组,所述所述二元数组包括:所需资源的类型以及量化数量。
[0014]本发明是一种基于Hadoop的任务调度器,在Hadoop基于标签的调度器上提出来量化标签的调度方式。将原来粗粒度的标记节点资源的方式改为一种细粒度的标记方式。将不同的节点区分开,将不同种类的任务提交到不同节点上。这种方式可以提高资源利用率,使得适当的节点处理适当的任务。新的Hadoop集群可以运行Spark、Storm、Mapreduce等不同的计算框架,在大型集群中,这种基于量化标签的调度方法可以相对有效的隔离各种不同的作业类型。
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本发明提供的一种基于量化标签的Yarn资源调度器的结构图;
[0017]图2为本发明提供的任务以及节点分配示意图。
【具体实施方式】
[0018]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]参阅图1,图1为本发明第一较佳实施方式提供的一种基于量化标签的Yarn资源调度器,如图1所示,该资源调度器包括:
[0020]节点配置模块101,用于配制节点标签,所述节点标签可以包括:量化的用于表示该节点资源大小的数组;
[0021]上述节点资源大小的数组可以为二元数组,具体可以为:
[0022]<cpu,<1,128?
[0023]<memory<2,128>>
[0024]<disk〈10,1000>>
[0025]队列配置模块102,用于配制队列标签,该队列标签
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1