CN104268018B - 一种Hadoop集群中的作业调度方法和作业调度器 - Google Patents

一种Hadoop集群中的作业调度方法和作业调度器 Download PDF

Info

Publication number
CN104268018B
CN104268018B CN201410486616.4A CN201410486616A CN104268018B CN 104268018 B CN104268018 B CN 104268018B CN 201410486616 A CN201410486616 A CN 201410486616A CN 104268018 B CN104268018 B CN 104268018B
Authority
CN
China
Prior art keywords
resource
current
idling
pond
task
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
Application number
CN201410486616.4A
Other languages
English (en)
Other versions
CN104268018A (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410486616.4A priority Critical patent/CN104268018B/zh
Publication of CN104268018A publication Critical patent/CN104268018A/zh
Application granted granted Critical
Publication of CN104268018B publication Critical patent/CN104268018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种Hadoop集群中的作业调度方法和作业调度器,该方法包括以下步骤:S1、获取Hadoop集群中的各个资源池的资源使用量,根据各个资源池的资源使用量,选择当前资源池;S2、选择所述当前资源池中任务权重比最小的作业作为当前作业;S3、判断所述当前作业是否是小作业,如果是,则执行步骤S4;否则,执行步骤S5;S4、从所述当前作业中选择一个本地任务,向选择的本地任务分配空闲资源;S5、根据所述当前资源池中的空闲资源的位置以及所述当前作业的等待时间,向所述当前作业分配空闲资源。本发明能够避免将非本地节点的空闲资源资源分配给小作业带来的数据传输延迟和带宽消耗,提高了小作业的运行效率和系统的整体性能。

Description

一种Hadoop集群中的作业调度方法和作业调度器
技术领域
本发明涉及计算机技术领域,具体涉及一种Hadoop集群中的作业调度方法和作业调度器。
背景技术
Hadoop集群是一种具有高可靠性和良好的扩展性的分布式系统,在数据处理领域得到了广泛的应用。在Hadoop集群得到应用的初期阶段,使用FIFO(First In First Out,先入先出)调度机制分配任务,将所有作业统一提交到一个队列中,并按照提交的先后顺序依次运行队列中的作业。但随着Hadoop用户及应用程序种类的不断增加,FIFO调度机制无法有效地利用集群中的资源,也不能满足不同应用程序的服务质量要求。
现有技术中,通常使用公平调度机制分配任务,按照资源池来组织作业,使得每个用户拥有独立的资源池,并通过设置各种约束条件防止单个用户或者应用程序独占资源。
然而,当集群中出现很多小作业时,会出现满足资源条件的节点不是本地节点的情况,导致整个集群的吞吐率会出现明显的下降。
发明内容
本发明提供了一种Hadoop集群中的作业调度方法和作业调度器,用以解决现有技术中小作业调度影响集群的整体吞吐率的问题
本发明提供了一种Hadoop集群中的作业调度方法,包括以下步骤:
S1、获取Hadoop集群中的各个资源池的资源使用量,根据各个资源池的资源使用量,选择当前资源池;
S2、选择所述当前资源池中任务权重比最小的作业作为当前作业;
S3、判断所述当前作业是否是小作业,如果是,则执行步骤S4;否则,执行步骤S5;
S4、从所述当前作业中选择一个本地任务,向选择的本地任务分配空闲资源;
S5、根据所述当前资源池中的空闲资源的位置以及所述当前作业的等待时间,向所述当前作业分配空闲资源。
可选地,所述根据各个资源池的资源使用量,选择当前资源池,具体为:
判断所述Hadoop集群中是否存在资源使用量小于预定的最小资源使用量的资源池,如果是,则选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;否则,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
可选地,所述选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池之前,还包括:
根据最小资源使用量和各个资源池中正在运行的任务数量,计算所述各个资源池的资源使用率;
所述选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池之前,还包括:
根据各个资源池中的任务的优先级,计算所述各个资源池的任务权重比。
可选地,所述选择所述当前资源池中任务权重比最小的作业作为当前作业之前,还包括:
获取当前资源池中的各个作业的任务权重比。
可选地,所述步骤S5,具体包括:
S51、对当前资源池中各个作业的等待时间进行初始化,并对各个作业的等待时间进行计时;
S52、判断当前资源池中是否存在空闲资源,如果是,则执行步骤S53;否则,结束流程;
S53、判断当前资源池中的空闲资源是否为本地节点的空闲资源,如果是,则执行步骤S54;否则,执行步骤S55;
S54、将当前资源池中的空闲资源分配给当前作业的任务;
S55、对当前资源池中各个作业的等待时间进行判断,如果等待时间小于第一预设时长,则执行步骤S56;如果等待时间不小于第一预设时长且小于第二预设时长,则执行步骤S57;如果等待时间不小于第二预设时长,则执行步骤S54;
S56、将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并返回步骤S52;
S57、判断当前资源池中的空闲资源是否为本机架节点的空闲资源,如果是,则执行步骤S54;否则,执行步骤S56。
本发明还提供了一种Hadoop集群中的作业调度器,包括:
第一获取模块,用于获取Hadoop集群中的各个资源池的资源使用量;
第一选择模块,根据所述第一获取模块获取到的各个资源池的资源使用量,选择当前资源池;
第二选择模块,用于从所述第一选择模块选择出的所述当前资源池中,选择任务权重比最小的作业作为当前作业;
判断模块,用于判断所述第二选择模块选择出的所述当前作业是否是小作业;
第三选择模块,用于在所述判断模块判断出当前作业不是小作业时,从所述当前作业中选择一个本地任务,向选择的本地任务分配空闲资源;
分配模块,用于在所述判断模块判断出当前作业是小作业时,根据所述当前资源池中的空闲资源的位置以及所述当前作业的等待时间,向所述当前作业分配空闲资源。
可选地,所述第一选择模块,包括:
第一判断子模块,用于判断所述Hadoop集群中是否存在资源使用量小于预定的最小资源使用量的资源池;
选择子模块,用于在所述第一判断子模块判断出所述Hadoop集群中存在资源使用量小于最小资源使用量的资源池时,选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;在所述第一判断子模块判断出所述Hadoop集群中不存在资源使用量小于最小资源使用量的资源池时,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
可选地,所述第一选择模块,还包括:
第一计算子模块,用于根据最小资源使用量和各个资源池中正在运行的任务数量,计算所述各个资源池的资源使用率;
第二计算子模块,用于根据各个资源池中的任务的优先级,计算所述各个资源池的任务权重比;
所述选择子模块,具体用于在所述第一判断子模块判断出所述Hadoop集群中存在资源使用量小于最小资源使用量的资源池时,根据所述第一计算子模块计算得到的各个资源池的资源使用率,选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;在所述第一判断子模块判断出所述Hadoop集群中不存在资源使用量小于最小资源使用量的资源池时,根据所述第二计算子模块计算出的各个资源池的任务权重比,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
可选地,所述的作业调度器,还包括:
第二获取模块,用于获取当前资源池中的各个作业的任务权重比;
所述第二选择模块,具体用于根据所述第二获取模块获取到的所述当前资源池中的各个作业的任务权重比,从所述第一选择模块选择出的所述当前资源池中,选择任务权重比最小的作业作为当前作业。
可选地,所述分配模块,包括:
初始化子模块,用于对当前资源池中各个作业的等待时间进行初始化;
计时子模块,用于在所述初始化子模块对各个作业的等待时间进行初始化后,对各个作业的等待时间进行计时;
第二判断子模块,用于判断当前资源池中是否存在空闲资源;
第三判断子模块,用于在所述第二判断子模块判断出当前资源池中存在空闲资源,判断当前资源池中的空闲资源是否为本地节点的空闲资源;
第四判断子模块,用于在所述第三判断子模块判断出当前资源池中的空闲资源不是本地节点的空闲资源时,对当前资源池中各个作业的等待时间进行判断;
第五判断子模块,用于在所述第四判断子模块判断出等待时间不小于第一预设时长且小于第二预设时长时,判断当前资源池中的空闲资源是否为本机架节点的空闲资源;
分配子模块,用于在所述第三判断子模块判断出当前资源池中的空闲资源是本地节点的空闲资源时,将当前资源池中的空闲资源分配给当前作业的任务;在所述第四判断子模块判断出等待时间小于第一预设时长时,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并触发所述第二判断子模块;在所述第四判断子模块判断出等待时间不小于第二预设时长时,将当前资源池中的空闲资源分配给当前作业的任务;在所述第五判断子模块判断出当前资源池中的空闲资源是本机架节点的空闲资源时,将当前资源池中的空闲资源分配给当前作业的任务;在所述第五判断子模块判断出当前资源池中的空闲资源不是本机架节点的空闲资源时,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并触发所述第二判断子模块。
本发明将本地节点的空闲资源资源分配给小作业,避免将非本地节点的空闲资源资源分配给小作业带来的数据传输延迟和带宽消耗,缩短了小作业的执行时间,优化了小作业的选择策略,提高了小作业的运行效率,增加了Hadoop集群的整体吞吐率,提高了系统的整体性能。
附图说明
图1为本发明实施例中的一种Hadoop集群中的作业调度方法流程图;
图2为本发明实施例中的一种分配空闲资源的方法流程图;
图3为本发明实施例中的一种Hadoop集群中的作业调度器的结构示意图;
图4为本发明实施例中的一种分配模块360的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例中提出了一种Hadoop集群中的作业调度方法,在安装Hadoop组件并开启HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)服务后,使用资源池来组织作业,并将集群资源分配到资源池中。每个用户拥有一个独立的资源池,以使所有用户都能获得等同的集群资源。
在完成上述设置后,可对Hadoop集群进行作业调度,具体流程如图1所示,包括以下步骤:
步骤101,获取Hadoop集群中的各个资源池的资源使用量。
步骤102,根据Hadoop集群中的各个资源池的资源使用量,判断Hadoop集群中是否存在资源使用量小于预定的最小资源使用量的资源池,如果是,则执行步骤103;否则,执行步骤105。
步骤103,根据最小资源使用量和各个资源池中正在运行的任务数量,计算各个资源池的资源使用率。
具体地,可以获取Hadoop集群中的各个资源池中正在运行的任务数量与最小资源使用量的比值,将该比值作为各个资源池的资源使用率。
步骤104,选择Hadoop集群中资源使用率最低的资源池作为当前资源池,并执行步骤107。
具体地,可以对各个队列的资源使用率进行对比和排序,选择资源使用率最低的队列作为当前队列。
步骤105,根据各个资源池中的任务的优先级,计算各个资源池的任务权重比。
具体地,可以获取Hadoop集群中的各个资源池中所有正在运行的任务的优先级之和与各个资源池中所有任务的优先级之和的比值,将该比值作为各个资源池的任务权重比。其中,各个任务的优先级是预先设定的。
步骤106,选择Hadoop集群中任务权重比最小的资源池作为当前资源池,并执行步骤107。
步骤107,获取当前资源池中的各个作业的任务权重比。
具体地,可以获取当前资源池中的各个作业正在运行的任务数量与各个作业的权重的比值,将该比值作为各个作业的任务权重比。其中,各个作业的权重是预先设定的。
步骤108,选择当前资源池中任务权重比最小的作业作为当前作业。
步骤109,判断当前作业是否是小作业,如果是,则执行步骤111;否则,执行步骤110。
具体地,可以判断当前作业对应的标志位是否为预设值,如果是,则确定当前作业是小作业;否则,确定当前作业不是小作业。例如,预设值为“true”。
相应地,本发明实施例中,在提交小作业时,设置该小作业对应的标志位为预设值。
步骤110,从当前作业中选择一个本地任务,向选择的本地任务分配空闲资源。
步骤111,根据当前资源池中的空闲资源的位置以及当前作业的等待时间,向当前作业分配空闲资源。
具体地,向当前作业分配空闲资源的具体流程,如图2所示,包括以下步骤:
步骤201,对当前资源池中各个作业的等待时间进行初始化,并对各个作业的等待时间进行计时。
步骤202,判断当前资源池中是否存在空闲资源,如果是,则执行步骤203;否则,结束流程。
步骤203,判断当前资源池中的空闲资源是否为本地节点的空闲资源,如果是,则执行步骤204;否则,执行步骤205。
步骤204,将当前资源池中的空闲资源分配给当前作业的任务。
步骤205,对当前资源池中各个作业的等待时间进行判断,如果等待时间小于第一预设时长,则执行步骤206;如果等待时间不小于第一预设时长且小于第二预设时长,则执行步骤207;如果等待时间不小于第二预设时长,则执行步骤204。
其中,第一预设时长小于第二预设时长。
步骤206,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并返回步骤202。
步骤207,判断当前资源池中的空闲资源是否为本机架节点的空闲资源,如果是,则执行步骤204;否则,执行步骤206。
本发明实施例将本地节点的空闲资源资源分配给小作业,避免将非本地节点的空闲资源资源分配给小作业带来的数据传输延迟和带宽消耗,缩短了小作业的执行时间,优化了小作业的选择策略,提高了小作业的运行效率,增加了Hadoop集群的整体吞吐率,提高了系统的整体性能。
基于上述作业调度方法,本发明实施例还提出了一种Hadoop集群中的作业调度器,如图3所示,包括:
第一获取模块310,用于获取Hadoop集群中的各个资源池的资源使用量;
第一选择模块320,根据第一获取模块310获取到的各个资源池的资源使用量,选择当前资源池;
第二选择模块330,用于从第一选择模块320选择出的所述当前资源池中,选择任务权重比最小的作业作为当前作业;
判断模块340,用于判断第二选择模块330选择出的所述当前作业是否是小作业;
第三选择模块350,用于在判断模块340判断出当前作业不是小作业时,从所述当前作业中选择一个本地任务,向选择的本地任务分配空闲资源;
分配模块360,用于在判断模块340判断出当前作业是小作业时,根据所述当前资源池中的空闲资源的位置以及所述当前作业的等待时间,向所述当前作业分配空闲资源。
具体地,上述第一选择模块320,包括:
第一判断子模块321,用于判断所述Hadoop集群中是否存在资源使用量小于预定的最小资源使用量的资源池;
选择子模块322,用于在第一判断子模块321判断出所述Hadoop集群中存在资源使用量小于最小资源使用量的资源池时,选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;在第一判断子模块321判断出所述Hadoop集群中不存在资源使用量小于最小资源使用量的资源池时,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
进一步,上述第一选择模块320,还包括:
第一计算子模块323,用于根据最小资源使用量和各个资源池中正在运行的任务数量,计算各个资源池的资源使用率;
具体地,第一计算子模块323,具体用于获取Hadoop集群中的各个资源池中正在运行的任务数量与最小资源使用量的比值,将该比值作为各个资源池的资源使用率。
第二计算子模块324,用于根据各个资源池中的任务的优先级,计算各个资源池的任务权重比;
具体地,第二计算子模块324,具体用于获取Hadoop集群中的各个资源池中所有正在运行的任务的优先级之和与各个资源池中所有任务的优先级之和的比值,将该比值作为各个资源池的任务权重比。
相应地,上述选择子模块322,具体用于在第一判断子模块321判断出所述Hadoop集群中存在资源使用量小于最小资源使用量的资源池时,根据第一计算子模块323计算得到的各个资源池的资源使用率,选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;在第一判断子模块321判断出所述Hadoop集群中不存在资源使用量小于最小资源使用量的资源池时,根据第二计算子模块324计算出的各个资源池的任务权重比,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
进一步地,上述作业调度器,还包括:
第二获取模块370,用于获取当前资源池中的各个作业的任务权重比;
相应地,上述第二选择模块330,具体用于根据第二获取模块370获取到的所述当前资源池中的各个作业的任务权重比,从第一选择模块320选择出的所述当前资源池中,选择任务权重比最小的作业作为当前作业。
进一步地,上述分配模块360,如图4所示,包括:
初始化子模块361,用于对当前资源池中各个作业的等待时间进行初始化;
计时子模块362,用于在初始化子模块361对各个作业的等待时间进行初始化后,对各个作业的等待时间进行计时;
第二判断子模块363,用于判断当前资源池中是否存在空闲资源;
第三判断子模块364,用于在第二判断子模块363判断出当前资源池中存在空闲资源,判断当前资源池中的空闲资源是否为本地节点的空闲资源;
第四判断子模块365,用于在第三判断子模块364判断出当前资源池中的空闲资源不是本地节点的空闲资源时,对计时子模块362计时得到的当前资源池中各个作业的等待时间进行判断;
第五判断子模块366,用于在第四判断子模块365判断出等待时间不小于第一预设时长且小于第二预设时长时,判断当前资源池中的空闲资源是否为本机架节点的空闲资源;
分配子模块367,用于在第三判断子模块364判断出当前资源池中的空闲资源是本地节点的空闲资源时,将当前资源池中的空闲资源分配给当前作业的任务;在第四判断子模块365判断出等待时间小于第一预设时长时,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并触发第二判断子模块363;在第四判断子模块365判断出等待时间不小于第二预设时长时,将当前资源池中的空闲资源分配给当前作业的任务;在第五判断子模块366判断出当前资源池中的空闲资源是本机架节点的空闲资源时,将当前资源池中的空闲资源分配给当前作业的任务;在第五判断子模块366判断出当前资源池中的空闲资源不是本机架节点的空闲资源时,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并触发第二判断子模块363。
本发明实施例将本地节点的空闲资源资源分配给小作业,避免将非本地节点的空闲资源资源分配给小作业带来的数据传输延迟和带宽消耗,缩短了小作业的执行时间,优化了小作业的选择策略,提高了小作业的运行效率,增加了Hadoop集群的整体吞吐率,提高了系统的整体性能。
结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种Hadoop集群中的作业调度方法,其特征在于,包括以下步骤:
S1、获取Hadoop集群中的各个资源池的资源使用量,根据各个资源池的资源使用量,选择当前资源池;
S2、选择所述当前资源池中任务权重比最小的作业作为当前作业;
S3、判断所述当前作业是否是小作业,如果是,则执行步骤S4;否则,执行步骤S5;
S4、从所述当前作业中选择一个本地任务,向选择的本地任务分配空闲资源;
S5、根据所述当前资源池中的空闲资源的位置以及所述当前作业的等待时间,向所述当前作业分配空闲资源。
2.如权利要求1所述的方法,其特征在于,所述根据各个资源池的资源使用量,选择当前资源池,具体为:
判断所述Hadoop集群中是否存在资源使用量小于预定的最小资源使用量的资源池,如果是,则选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;否则,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
3.如权利要求2所述的方法,其特征在于,所述选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池之前,还包括:
根据最小资源使用量和各个资源池中正在运行的任务数量,计算所述各个资源池的资源使用率;
所述选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池之前,还包括:
根据各个资源池中的任务的优先级,计算所述各个资源池的任务权重比。
4.如权利要求1所述的方法,其特征在于,所述选择所述当前资源池中任务权重比最小的作业作为当前作业之前,还包括:
获取当前资源池中的各个作业的任务权重比。
5.如权利要求1所述的方法,其特征在于,所述步骤S5,具体包括:
S51、对当前资源池中各个作业的等待时间进行初始化,并对各个作业的等待时间进行计时;
S52、判断当前资源池中是否存在空闲资源,如果是,则执行步骤S53;否则,结束流程;
S53、判断当前资源池中的空闲资源是否为本地节点的空闲资源,如果是,则执行步骤S54;否则,执行步骤S55;
S54、将当前资源池中的空闲资源分配给当前作业的任务;
S55、对当前资源池中各个作业的等待时间进行判断,如果等待时间小于第一预设时长,则执行步骤S56;如果等待时间不小于第一预设时长且小于第二预设时长,则执行步骤S57;如果等待时间不小于第二预设时长,则执行步骤S54;
S56、将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并返回步骤S52;
S57、判断当前资源池中的空闲资源是否为本机架节点的空闲资源,如果是,则执行步骤S54;否则,执行步骤S56。
6.一种Hadoop集群中的作业调度器,其特征在于,包括:
第一获取模块,用于获取Hadoop集群中的各个资源池的资源使用量;
第一选择模块,根据所述第一获取模块获取到的各个资源池的资源使用量,选择当前资源池;
第二选择模块,用于从所述第一选择模块选择出的所述当前资源池中,选择任务权重比最小的作业作为当前作业;
判断模块,用于判断所述第二选择模块选择出的所述当前作业是否是小作业;
第三选择模块,用于在所述判断模块判断出当前作业不是小作业时,从所述当前作业中选择一个本地任务,向选择的本地任务分配空闲资源;
分配模块,用于在所述判断模块判断出当前作业是小作业时,根据所述当前资源池中的空闲资源的位置以及所述当前作业的等待时间,向所述当前作业分配空闲资源。
7.如权利要求6所述的作业调度器,其特征在于,所述第一选择模块,包括:
第一判断子模块,用于判断所述Hadoop集群中是否存在资源使用量小于预定的最小资源使用量的资源池;
选择子模块,用于在所述第一判断子模块判断出所述Hadoop集群中存在资源使用量小于最小资源使用量的资源池时,选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;在所述第一判断子模块判断出所述Hadoop集群中不存在资源使用量小于最小资源使用量的资源池时,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
8.如权利要求7所述的作业调度器,其特征在于,所述第一选择模块,还包括:
第一计算子模块,用于根据最小资源使用量和各个资源池中正在运行的任务数量,计算所述各个资源池的资源使用率;
第二计算子模块,用于根据各个资源池中的任务的优先级,计算所述各个资源池的任务权重比;
所述选择子模块,具体用于在所述第一判断子模块判断出所述Hadoop集群中存在资源使用量小于最小资源使用量的资源池时,根据所述第一计算子模块计算得到的各个资源池的资源使用率,选择所述Hadoop集群中资源使用率最低的资源池作为当前资源池;在所述第一判断子模块判断出所述Hadoop集群中不存在资源使用量小于最小资源使用量的资源池时,根据所述第二计算子模块计算出的各个资源池的任务权重比,选择所述Hadoop集群中任务权重比最小的资源池作为当前资源池。
9.如权利要求6所述的作业调度器,其特征在于,还包括:
第二获取模块,用于获取当前资源池中的各个作业的任务权重比;
所述第二选择模块,具体用于根据所述第二获取模块获取到的所述当前资源池中的各个作业的任务权重比,从所述第一选择模块选择出的所述当前资源池中,选择任务权重比最小的作业作为当前作业。
10.如权利要求6所述的作业调度器,其特征在于,所述分配模块,包括:
初始化子模块,用于对当前资源池中各个作业的等待时间进行初始化;
计时子模块,用于在所述初始化子模块对各个作业的等待时间进行初始化后,对各个作业的等待时间进行计时;
第二判断子模块,用于判断当前资源池中是否存在空闲资源;
第三判断子模块,用于在所述第二判断子模块判断出当前资源池中存在空闲资源,判断当前资源池中的空闲资源是否为本地节点的空闲资源;
第四判断子模块,用于在所述第三判断子模块判断出当前资源池中的空闲资源不是本地节点的空闲资源时,对当前资源池中各个作业的等待时间进行判断;
第五判断子模块,用于在所述第四判断子模块判断出等待时间不小于第一预设时长且小于第二预设时长时,判断当前资源池中的空闲资源是否为本机架节点的空闲资源;
分配子模块,用于在所述第三判断子模块判断出当前资源池中的空闲资源是本地节点的空闲资源时,将当前资源池中的空闲资源分配给当前作业的任务;在所述第四判断子模块判断出等待时间小于第一预设时长时,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并触发所述第二判断子模块;在所述第四判断子模块判断出等待时间不小于第二预设时长时,将当前资源池中的空闲资源分配给当前作业的任务;在所述第五判断子模块判断出当前资源池中的空闲资源是本机架节点的空闲资源时,将当前资源池中的空闲资源分配给当前作业的任务;在所述第五判断子模块判断出当前资源池中的空闲资源不是本机架节点的空闲资源时,将前资源池中的空闲资源分配给当前资源池中的其他作业中的任务,并触发所述第二判断子模块。
CN201410486616.4A 2014-09-22 2014-09-22 一种Hadoop集群中的作业调度方法和作业调度器 Active CN104268018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410486616.4A CN104268018B (zh) 2014-09-22 2014-09-22 一种Hadoop集群中的作业调度方法和作业调度器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410486616.4A CN104268018B (zh) 2014-09-22 2014-09-22 一种Hadoop集群中的作业调度方法和作业调度器

Publications (2)

Publication Number Publication Date
CN104268018A CN104268018A (zh) 2015-01-07
CN104268018B true CN104268018B (zh) 2017-11-24

Family

ID=52159542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410486616.4A Active CN104268018B (zh) 2014-09-22 2014-09-22 一种Hadoop集群中的作业调度方法和作业调度器

Country Status (1)

Country Link
CN (1) CN104268018B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408217A (zh) * 2018-11-13 2019-03-01 杭州数梦工场科技有限公司 一种spark任务运行时间调整方法、装置及设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528288A (zh) * 2015-09-10 2017-03-22 中兴通讯股份有限公司 一种资源管理方法、装置和系统
CN107239337A (zh) * 2016-03-28 2017-10-10 北京智梵网络科技有限公司 虚拟化资源的分配和调度方法及系统
CN106020977B (zh) * 2016-05-16 2019-09-13 深圳市中业智能系统控制有限公司 用于监控系统的分布式任务调度方法及装置
JP6907303B2 (ja) * 2016-09-29 2021-07-21 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. 通信方法、端末装置及びネットワーク装置
CN108063784B (zh) * 2016-11-08 2022-01-25 阿里巴巴集团控股有限公司 一种云环境下应用集群资源分配的方法、装置和系统
CN108268317B (zh) * 2016-12-30 2020-07-28 华为技术有限公司 一种资源分配方法及装置
CN109189571A (zh) * 2018-07-30 2019-01-11 南京邮电大学 计算任务调度方法及系统、边缘节点、存储介质和终端
US20200174844A1 (en) * 2018-12-04 2020-06-04 Huawei Technologies Canada Co., Ltd. System and method for resource partitioning in distributed computing
CN112286651A (zh) * 2019-07-24 2021-01-29 中兴通讯股份有限公司 一种自动化测试资源管理的方法及装置
CN113037800B (zh) * 2019-12-09 2024-03-05 华为云计算技术有限公司 作业调度方法以及作业调度装置
CN111343288B (zh) * 2020-05-21 2020-09-01 北京并行科技股份有限公司 作业调度方法、系统及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414271A (zh) * 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
CN103414761A (zh) * 2013-07-23 2013-11-27 北京工业大学 一种基于Hadoop架构的移动终端云资源调度方法
CN103631657A (zh) * 2013-11-19 2014-03-12 浪潮电子信息产业股份有限公司 一种基于MapReduce的任务调度算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621472B2 (en) * 2009-11-03 2013-12-31 International Business Machines Corporation Job scheduling with optimization of power consumption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414271A (zh) * 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
CN103414761A (zh) * 2013-07-23 2013-11-27 北京工业大学 一种基于Hadoop架构的移动终端云资源调度方法
CN103631657A (zh) * 2013-11-19 2014-03-12 浪潮电子信息产业股份有限公司 一种基于MapReduce的任务调度算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"HADOOP调度算法及其改进策略研究";李盼;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115(第11期);全文 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408217A (zh) * 2018-11-13 2019-03-01 杭州数梦工场科技有限公司 一种spark任务运行时间调整方法、装置及设备

Also Published As

Publication number Publication date
CN104268018A (zh) 2015-01-07

Similar Documents

Publication Publication Date Title
CN104268018B (zh) 一种Hadoop集群中的作业调度方法和作业调度器
CN107688492B (zh) 资源的控制方法、装置和集群资源管理系统
CN105718479B (zh) 跨idc大数据处理架构下执行策略生成方法、装置
CN106445675B (zh) 一种b2b平台分布式应用调度与资源分配方法
CN104239154B (zh) 一种Hadoop集群中的作业调度方法和作业调度器
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
DE112013000486B4 (de) Anweisungsausgleich durch Anweisungsunsicherheit für Prozessoren mit mehreren Threads
CN110389816B (zh) 用于资源调度的方法、装置以及计算机可读介质
WO2018120991A1 (zh) 一种资源调度方法及装置
CN107045456A (zh) 一种资源分配方法及资源管理器
CN107832143B (zh) 一种物理机资源的处理方法和装置
CN107656813A (zh) 一种负载调度的方法、装置及终端
CN111026519B (zh) 基于分布式的任务优先级调度方法和系统及存储介质
CN109213594A (zh) 资源抢占的方法、装置、设备和计算机存储介质
CN109582448A (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN111104210A (zh) 一种任务处理方法、装置及计算机系统
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
CN106528288A (zh) 一种资源管理方法、装置和系统
CN105022668B (zh) 一种作业调度方法及系统
CN104793996A (zh) 一种并行计算设备的任务调度方法及任务调度装置
US8090903B2 (en) Fair and dynamic disk input/output bandwidth distribution
CN113886034A (zh) 任务调度方法、系统、电子设备及存储介质
CN115586961A (zh) 一种ai平台计算资源任务调度方法、装置及介质
Toporkov et al. Preference-based fair resource sharing and scheduling optimization in Grid VOs
CN112860401A (zh) 任务调度方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant