CN106528288A - 一种资源管理方法、装置和系统 - Google Patents
一种资源管理方法、装置和系统 Download PDFInfo
- Publication number
- CN106528288A CN106528288A CN201510574287.3A CN201510574287A CN106528288A CN 106528288 A CN106528288 A CN 106528288A CN 201510574287 A CN201510574287 A CN 201510574287A CN 106528288 A CN106528288 A CN 106528288A
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- queue
- user
- idling
- 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.)
- Withdrawn
Links
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]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种资源管理方法,应用于Hadoop系统的主节点,该方法包括:获取从节点的空闲资源槽信息;从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;在成功选取到待运行任务后,将所述待运行任务分配给所述从节点。本发明能够提高Hadoop系统的资源利用率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及的是一种资源管理方法、装置和系统。
背景技术
Hadoop系统是目前使用十分广泛的一个分布式系统,用来处理大规模数据。Hadoop集群由一个主节点和多个从节点组成,每个节点可以是一台计算机或者一台虚拟机。主节点用来管理Hadoop分布式文件系统HDFS(HadoopDistributed File System,HDFS)和各个作业的处理过程(即MapReduce计算框架),从节点负责数据的存储和对作业数据的处理。Hadoop采用Google公司提出的MapReduce并行处理框架。主节点在MapReduce中称为JobTracker,负责作业的处理过程;从节点在MapReduce框架中称之为TaskTracker,负责作业任务的执行。Hadoop作业的输入数据被划分成很多大小相同的数据块分布在计算机集群中,由多个节点并行处理这些输入数据从而加快作业的处理时间。一个节点可以通过配置同时存储和处理多个数据块,每个数据块对应一个任务。作业的执行分为两个阶段:第一个阶段即map阶段,各个节点处理分布在集群中作业的map任务;第二个阶段为Reduce阶段,即通过reduce任务对分布在各个节点的map任务处理结果进行汇总,形成最终的作业处理结果。
在Hadoop集群中,所有的计算资源被抽象为槽,每个槽可以被独占用来处理一个任务,根据计算节点(即从节点)的硬件配置,管理员可以配置不同数目的槽。由于每个作业都由一个map任务集合和一个reduce任务集合组成,而map任务和reduce任务对集群资源的需求有所不同,所以将槽划分为map槽和reduce槽两种类型。其中,map槽只能运行map任务,reduce槽只能运行reduce任务。所以在Hadoop中槽是最基本的计算单元,并且槽的数目在集群启动前已被管理员配置完毕,运行过程中不能改变。资源槽也是资源分配的基本单位,每个资源槽占用着本节点上一定的物理资源,比如CPU、内存、磁盘和网络带宽。图1是一个计算节点和资源槽的示意图。
在Hadoop中,每个作业包括map任务集合和reduce任务集合,每一个任务对应一个资源槽(map任务对应map槽,reduce任务对应reduce槽),对作业任务的执行有两个严格的限制:(1)reduce任务必须在所有map任务完成后才能真正开始;(2)map任务只能运行在map槽上,reduce任务只能运行在reduce槽上。这两个限制带来的结果就是在不同的作业负载和资源槽配置下,集群资源利用率和性能都有较大不同,即使在最优的作业提交顺序和最优的配置资源槽下仍然会严重影响相应资源槽的利用率。由于map任务和reduce任务的数目随着时间的推移都在不断的变化,分配给map(或者reduce)任务的资源槽数目可能会超过map(或者reduce)任务的数目。所以,在MapReduce集群动态负载下,可能会出现一种资源槽负载过重而另一种资源槽却有空闲,从而导致资源浪费
发明内容
本发明所要解决的技术问题是提供一种资源管理方法、装置和系统,能够提高Hadoop系统的资源利用率。
本发明实施例提供了一种资源管理方法,应用于Hadoop系统的主节点,该方法包括:
获取从节点的空闲资源槽信息;
从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;
在成功选取到待运行任务后,将所述待运行任务分配给所述从节点。
可选地,所述从等待资源分配的用户队列中选取用户,包括:
从所述等待资源分配的用户队列的头部开始扫描所述用户队列;
每扫描到一个用户,判断所述用户是否满足分配条件,如所述用户满足所述分配条件,则扫描终止,如所述用户不满足所述分配条件,则扫描下一个用户。
可选地,所述分配条件包括:所述用户具有满足数据本地性要求的待运行任务。
可选地,在所述分配条件包含数据本地性要求时,从所述用户的待运行任务队列中选取待运行任务,还包括:
如扫描完所有的用户后未能选取到待运行任务,则从所述分配条件中去除数据本地性要求,重新从所述等待资源分配的用户队列的头部开始扫描所述用户队列,每扫描到一个用户,判断所述用户是否具有待运行任务,如所述用户具有待运行任务,则扫描终止,从所述用户的待运行任务队列中选取待运行任务,如所述用户没有待运行任务,则扫描下一个用户。
本发明实施例还提供了一种资源管理方法,应用于Hadoop系统的从节点,该方法包括:
检测到空闲资源槽后,向主节点发送携带空闲资源槽信息的通知消息,所述空闲资源槽信息包括本节点的空闲资源槽的类型信息;
接收所述主节点为本节点的空闲资源槽分配的待运行任务并将接收到的待运行任务放入任务启动队列中;
在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动。
可选地,所述接收所述主节点分配的待运行任务并将接收到的待运行任务放入任务启动队列中,包括:
将接收到的map任务放入map任务启动队列,将接收到的reduce任务放入reduce任务启动队列;
所述在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动,包括:
如所述reduce任务启动队列非空且当前存在空闲资源槽,则从所述reduce任务启动队列中取出待运行任务进行启动;
如所述reduce任务启动队列为空且所述map任务启动队列非空且当前存在空闲资源槽,则从所述map任务启动队列中取出待运行任务进行启动。
本发明实施例还提供了一种资源管理装置,应用于Hadoop系统的主节点,包括:
信息接收模块,用于获取从节点的空闲资源槽信息;
任务调度模块,用于从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;
信息发送模块,用于在成功选取到待运行任务后,将所述待运行任务分配给所述从节点。
可选地,所述任务调度模块,用于从等待资源分配的用户队列中选取用户,包括:
从所述等待资源分配的用户队列的头部开始扫描所述用户队列;
每扫描到一个用户,判断所述用户是否满足分配条件,如所述用户满足所述分配条件,则扫描终止,如所述用户不满足所述分配条件,则扫描下一个用户。
可选地,所述分配条件包括:所述用户具有满足数据本地性要求的待运行任务。
可选地,所述任务调度模块,用于在所述分配条件包含数据本地性要求时,从所述用户的待运行任务队列中选取待运行任务,还包括:如扫描完所有的用户后未能选取到待运行任务,则从所述分配条件中去除数据本地性要求,重新从所述等待资源分配的用户队列的头部开始扫描所述用户队列,每扫描到一个用户,判断所述用户是否具有待运行任务,如所述用户具有待运行任务,则扫描终止,从所述用户的待运行任务队列中选取待运行任务,如所述用户没有待运行任务,则扫描下一个用户。
本发明实施例还提供了一种资源管理装置,应用于Hadoop系统的从节点,包括:
检测及上报模块,用于向主节点发送携带空闲资源槽信息的通知消息,所述空闲资源槽信息包括本节点的空闲资源槽的类型信息;
接收及处理模块,用于接收所述主节点为本节点的空闲资源槽分配的待运行任务并将接收到的待运行任务放入任务启动队列中;
任务启动模块,用于在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动。
可选地,所述接收及处理模块,用于接收所述主节点分配的待运行任务并将接收到的待运行任务放入任务启动队列中,包括:
将接收到的map任务放入map任务启动队列,将接收到的reduce任务放入reduce任务启动队列;
所述任务启动模块,用于在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动,包括:
如所述reduce任务启动队列非空且当前存在空闲资源槽,则从所述reduce任务启动队列中取出待运行任务进行启动;
如所述reduce任务启动队列为空且所述map任务启动队列非空且当前存在空闲资源槽,则从所述map任务启动队列中取出待运行任务进行启动。
本发明实施例还提供了一种资源管理系统,包括:
具有上述资源管理装置的Hadoop系统主节点,和具有上述资源管理装置的Hadoop系统从节点。
与现有技术相比,本发明提供的一种资源管理方法、装置和系统,通过对主节点上的调度器和从节点上的任务跟踪器进行改进,打破了Hadoop系统中map槽只能运行map任务,reduce槽只能运行reduce任务的限制,尽可能使所有的资源槽都保持忙碌,从而提高Hadoop系统的资源利用率。
附图说明
图1为计算节点和资源槽的示意图。
图2为本发明实施例用户资源池内部资源槽借用示意图。
图3为本发明实施例用户间资源池资源槽借用示意图。
图4为本发明实施例一种资源管理方法的示意图(主节点)。
图5为本发明实施例一种资源管理方法的示意图(从节点)。
图6为本发明实施例一种资源管理装置示意图(主节点)。
图7为本发明实施例一种资源管理装置示意图(从节点)。
图8为本发明实施例一种资源管理系统示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
多个作业在从map阶段进入reduce阶段的过程中,在不同的时间段可能会出现一类资源槽空闲,而另一类却负载过重。对于这些空闲的reduce槽(或者map槽),可以借给负载过重的map(或者reduce)任务使用,从而提高Hadoop系统的资源利用率。
调度器(主节点上)会负责在用户级进行用户选择,在选定用户后,再从该用户的作业队列内选取合适的作业,最后将作业任务的启动交给MapReduce框架中的任务跟踪器TaskTracker(从节点上)。
对Hadoop系统的调度器和MapReduce框架进行改进,打破MapReduce并行计算框架中对于map资源槽和reduce资源槽的限制,在保证用户之间公平性的同时,分别在用户资源池内部和用户资源池之间进行资源槽借用。如图2所示,用户资源池内部的借用,即借用用户资源池内的空闲资源槽给该用户负载过重的资源槽。如图3所示,用户资源池之间的借用,即用户可以借用其他用户资源池的空闲资源槽。资源槽借用减少了资源槽空闲现象,尽可能使所有资源槽保持忙碌,从而提高了Hadoop集群的资源利用率。
如图4所示,本发明实施例提供了一种资源管理方法,应用于Hadoop系统的主节点,该方法包括:
S401,获取从节点的空闲资源槽信息;
其中,所述获取从节点的空闲资源槽信息,包括:
接收到从节点发送的请求分配任务的心跳消息后,根据所述心跳消息中携带的空闲资源槽信息获知所述从节点有空闲资源槽;
其中,所述空闲资源槽信息包括:资源槽类型信息;
其中,所述资源槽类型包括:map资源槽或reduce资源槽;
S402,从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;
其中,所述从等待资源分配的用户队列中选取用户,包括:
从所述等待资源分配的用户队列的头部开始扫描所述用户队列;
每扫描到一个用户,判断所述用户是否满足分配条件,如所述用户满足所述分配条件,则扫描终止,如所述用户不满足所述分配条件,则扫描下一个用户;
其中,所述分配条件包括:所述用户具有满足数据本地性要求的待运行任务;
其中,所述数据本地性要求是指:任务要处理的数据块与分配给该任务的资源槽在同一个节点或同一机架上;
其中,在所述分配条件包含数据本地性要求时,从所述用户的待运行任务队列中选取待运行任务,还包括:
如扫描完所有的用户后未能选取到待运行任务,则从所述分配条件中去除数据本地性要求,重新从所述等待资源分配的用户队列的头部开始扫描所述用户队列,每扫描到一个用户,判断所述用户是否具有待运行任务,如所述用户具有待运行任务,则扫描终止,从所述用户的待运行任务队列中选取待运行任务,如所述用户没有待运行任务,则扫描下一个用户;
其中,所述等待资源分配的用户队列按照公平性算法对用户进行排序;
其中,在同类型的待运行任务存在多个时,优先选取等待时间长的待运行任务;
其中,用户内部资源槽的借用是指:用户在分配到资源槽后,分四种情况进行分析:1)第一种情况:判断空闲资源槽是否为map槽且用户有满足本地性的map任务,若满足该条件则会将map资源槽分配给map任务;2)第二种情况:判断空闲资源槽是否为reduce槽且用户有待执行的reduce任务,若满足该条件则将reduce资源槽分配给reduce任务;3)第三种情况:判断空闲资源槽是否为map槽且用户有待执行reduce任务,若满足该条件则借用map槽执行reduce任务;4)第四种情况:判断空闲资源槽是否为reduce槽且有满足本地性的map任务,若满足该条件则将reduce槽借用给map任务。可以看出,用户内部资源槽借用发生在上述第三种和第四种情况。
用户之间资源槽的借用是指:在进行资源分配时首先会对用户队列按照优先级排序。按照优先级原则,该资源槽应该分配给优先级最高的用户。但是,很可能的情况是:该用户可能没有符合条件的任务,例如没有reduce任务且没有满足数据本地性的map任务,所以可以将该资源槽借用给其他用户。借用的实现就是通过扫描用户队列中下一个用户,判断下一个用户是否具有满足条件的任务,如果有则将该资源槽借给这个用户,否则继续依次扫描用户队列中的其他用户。
S403,在成功选取到待运行任务后,将所述待运行任务分配给所述从节点;
其中,所述将所述待运行任务分配给所述从节点,包括:
向所述从节点返回所述心跳消息的响应消息,其中携带所述待运行任务的信息;
其中,主节点上的调度器负责调度并分配map任务或reduce任务给从节点;
如图5所示,本发明实施例提供了一种资源管理方法,应用于Hadoop系统的从节点,该方法包括:
S501,检测到空闲资源槽后,向主节点发送携带空闲资源槽信息的通知消息,所述空闲资源槽信息包括本节点的空闲资源槽的类型信息;
其中,所述向主节点发送携带所述空闲资源槽信息的通知消息,包括:
向主节点发送请求分配任务的心跳消息,其中携带空闲资源槽信息;
其中,所述资源槽类型包括:map资源槽或reduce资源槽;
S502,接收所述主节点为本节点的空闲资源槽分配的待运行任务并将接收到的待运行任务放入任务启动队列中;
可选地,所述接收所述主节点分配的待运行任务并将接收到的待运行任务放入任务启动队列中,包括:
将接收到的map任务放入map任务启动队列,将接收到的reduce任务放入reduce任务启动队列;
可选地,也可以将接收到的map任务和reduce任务放入同一个任务启动队列中;
S503,在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动;
可选地,所述在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动,包括:
如所述reduce任务启动队列非空且当前存在空闲资源槽,则从所述reduce任务启动队列中取出待运行任务进行启动;
如所述reduce任务启动队列为空且所述map任务启动队列非空且当前存在空闲资源槽,则从所述map任务启动队列中取出待运行任务进行启动;
先启动reduce任务有利于尽快结束作业,释放作业占用的资源。
可选地,也可以采用其他的策略启动待运行任务;比如,如果将接收到的map任务和reduce任务放入同一个任务启动队列中,则可以顺序从所述任务启动队列中取出待运行任务进行启动;
其中,从节点上的任务跟踪器(TaskTracker)负责启动map任务或reduce任务;
如图6所示,本发明实施例提供了一种资源管理装置,应用于Hadoop系统的主节点,包括:
信息接收模块601,用于获取从节点的空闲资源槽信息;
任务调度模块602,用于从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;
信息发送模块603,用于在成功选取到待运行任务后,将所述待运行任务分配给所述从节点。
其中,所述任务调度模块602,用于从等待资源分配的用户队列中选取用户,包括:
从所述等待资源分配的用户队列的头部开始扫描所述用户队列;
每扫描到一个用户,判断所述用户是否满足分配条件,如所述用户满足所述分配条件,则扫描终止,如所述用户不满足所述分配条件,则扫描下一个用户。
其中,所述分配条件包括:所述用户具有满足数据本地性要求的待运行任务。
其中,所述任务调度模块602,用于在所述分配条件包含数据本地性要求时,从所述用户的待运行任务队列中选取待运行任务,还包括:如扫描完所有的用户后未能选取到待运行任务,则从所述分配条件中去除数据本地性要求,重新从所述等待资源分配的用户队列的头部开始扫描所述用户队列,每扫描到一个用户,判断所述用户是否具有待运行任务,如所述用户具有待运行任务,则扫描终止,从所述用户的待运行任务队列中选取待运行任务,如所述用户没有待运行任务,则扫描下一个用户。
其中,所述信息接收模块601,用于获取从节点的空闲资源槽信息,包括:
接收到从节点发送的请求分配任务的心跳消息后,根据所述心跳消息中携带的空闲资源槽信息获知所述从节点有空闲资源槽;
其中,所述资源槽类型包括:map资源槽或reduce资源槽。
如图7所示,本发明实施例提供了一种资源管理装置,应用于Hadoop系统的从节点,包括:
检测及上报模块701,用于向主节点发送携带空闲资源槽信息的通知消息,所述空闲资源槽信息包括本节点的空闲资源槽的类型信息;
接收及处理模块702,用于接收所述主节点为本节点的空闲资源槽分配的待运行任务并将接收到的待运行任务放入任务启动队列中;
任务启动模块703,用于在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动。
其中,所述接收及处理模块702,用于接收所述主节点分配的待运行任务并将接收到的待运行任务放入任务启动队列中,包括:
将接收到的map任务放入map任务启动队列,将接收到的reduce任务放入reduce任务启动队列;
所述任务启动模块703,用于在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动,包括:
如所述reduce任务启动队列非空且当前存在空闲资源槽,则从所述reduce任务启动队列中取出待运行任务进行启动;
如所述reduce任务启动队列为空且所述map任务启动队列非空且当前存在空闲资源槽,则从所述map任务启动队列中取出待运行任务进行启动。
其中,所述检测及上报模块701,用于向主节点发送携带所述空闲资源槽信息的通知消息,包括:
向主节点发送请求分配任务的心跳消息,其中携带空闲资源槽信息;
其中,所述资源槽类型包括:map资源槽或reduce资源槽。
如图8所示,本发明实施例提供了一种资源管理系统,包括:具有上述资源管理装置的Hadoop系统主节点,和具有上述资源管理装置的Hadoop系统从节点。
上述实施例提供的一种资源管理方法、装置和系统,通过对主节点上的调度器和从节点上的任务跟踪器进行改进,打破了Hadoop系统中map槽只能运行map任务,reduce槽只能运行reduce任务的限制,尽可能使所有的资源槽都保持忙碌,从而提高Hadoop系统的资源利用率。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (13)
1.一种资源管理方法,应用于Hadoop系统的主节点,该方法包括:
获取从节点的空闲资源槽信息;
从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;
在成功选取到待运行任务后,将所述待运行任务分配给所述从节点。
2.如权利要求1所述的方法,其特征在于:
所述从等待资源分配的用户队列中选取用户,包括:
从所述等待资源分配的用户队列的头部开始扫描所述用户队列;
每扫描到一个用户,判断所述用户是否满足分配条件,如所述用户满足所述分配条件,则扫描终止,如所述用户不满足所述分配条件,则扫描下一个用户。
3.如权利要求2所述的方法,其特征在于:
所述分配条件包括:所述用户具有满足数据本地性要求的待运行任务。
4.如权利要求3所述的方法,其特征在于:
在所述分配条件包含数据本地性要求时,从所述用户的待运行任务队列中选取待运行任务,还包括:
如扫描完所有的用户后未能选取到待运行任务,则从所述分配条件中去除数据本地性要求,重新从所述等待资源分配的用户队列的头部开始扫描所述用户队列,每扫描到一个用户,判断所述用户是否具有待运行任务,如所述用户具有待运行任务,则扫描终止,从所述用户的待运行任务队列中选取待运行任务,如所述用户没有待运行任务,则扫描下一个用户。
5.一种资源管理方法,应用于Hadoop系统的从节点,该方法包括:
检测到空闲资源槽后,向主节点发送携带空闲资源槽信息的通知消息,所述空闲资源槽信息包括本节点的空闲资源槽的类型信息;
接收所述主节点为本节点的空闲资源槽分配的待运行任务并将接收到的待运行任务放入任务启动队列中;
在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动。
6.如权利要求5所述的方法,其特征在于:
所述接收所述主节点分配的待运行任务并将接收到的待运行任务放入任务启动队列中,包括:
将接收到的map任务放入map任务启动队列,将接收到的reduce任务放入reduce任务启动队列;
所述在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动,包括:
如所述reduce任务启动队列非空且当前存在空闲资源槽,则从所述reduce任务启动队列中取出待运行任务进行启动;
如所述reduce任务启动队列为空且所述map任务启动队列非空且当前存在空闲资源槽,则从所述map任务启动队列中取出待运行任务进行启动。
7.一种资源管理装置,应用于Hadoop系统的主节点,包括:
信息接收模块,用于获取从节点的空闲资源槽信息;
任务调度模块,用于从等待资源分配的用户队列中选取用户,在选出用户后,从所述用户的待运行任务队列中选取待运行任务,包括:根据所述空闲资源槽信息中的空闲资源槽类型信息,优先从所述用户的待运行任务队列中选取与所述空闲资源槽类型匹配的待运行任务,在不存在与所述空闲资源槽类型匹配的待运行任务时,选取与所述空闲资源槽类型不同的待运行任务;
信息发送模块,用于在成功选取到待运行任务后,将所述待运行任务分配给所述从节点。
8.如权利要求7所述的装置,其特征在于:
所述任务调度模块,用于从等待资源分配的用户队列中选取用户,包括:
从所述等待资源分配的用户队列的头部开始扫描所述用户队列;
每扫描到一个用户,判断所述用户是否满足分配条件,如所述用户满足所述分配条件,则扫描终止,如所述用户不满足所述分配条件,则扫描下一个用户。
9.如权利要求8所述的装置,其特征在于:
所述分配条件包括:所述用户具有满足数据本地性要求的待运行任务。
10.如权利要求9所述的装置,其特征在于:
所述任务调度模块,用于在所述分配条件包含数据本地性要求时,从所述用户的待运行任务队列中选取待运行任务,还包括:如扫描完所有的用户后未能选取到待运行任务,则从所述分配条件中去除数据本地性要求,重新从所述等待资源分配的用户队列的头部开始扫描所述用户队列,每扫描到一个用户,判断所述用户是否具有待运行任务,如所述用户具有待运行任务,则扫描终止,从所述用户的待运行任务队列中选取待运行任务,如所述用户没有待运行任务,则扫描下一个用户。
11.一种资源管理装置,应用于Hadoop系统的从节点,包括:
检测及上报模块,用于向主节点发送携带空闲资源槽信息的通知消息,所述空闲资源槽信息包括本节点的空闲资源槽的类型信息;
接收及处理模块,用于接收所述主节点为本节点的空闲资源槽分配的待运行任务并将接收到的待运行任务放入任务启动队列中;
任务启动模块,用于在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动。
12.如权利要求11所述的装置,其特征在于:
所述接收及处理模块,用于接收所述主节点分配的待运行任务并将接收到的待运行任务放入任务启动队列中,包括:
将接收到的map任务放入map任务启动队列,将接收到的reduce任务放入reduce任务启动队列;
所述任务启动模块,用于在所述任务启动队列非空且当前存在空闲资源槽时,从所述任务启动队列中取出待运行任务进行启动,包括:
如所述reduce任务启动队列非空且当前存在空闲资源槽,则从所述reduce任务启动队列中取出待运行任务进行启动;
如所述reduce任务启动队列为空且所述map任务启动队列非空且当前存在空闲资源槽,则从所述map任务启动队列中取出待运行任务进行启动。
13.一种资源管理系统,包括:
具有权利要求7-10中任一项所述的资源管理装置的Hadoop系统主节点,和具有权利要求11-12中任一项所述的资源管理装置的Hadoop系统从节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510574287.3A CN106528288A (zh) | 2015-09-10 | 2015-09-10 | 一种资源管理方法、装置和系统 |
PCT/CN2015/095196 WO2016145904A1 (zh) | 2015-09-10 | 2015-11-20 | 一种资源管理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510574287.3A CN106528288A (zh) | 2015-09-10 | 2015-09-10 | 一种资源管理方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528288A true CN106528288A (zh) | 2017-03-22 |
Family
ID=56920369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510574287.3A Withdrawn CN106528288A (zh) | 2015-09-10 | 2015-09-10 | 一种资源管理方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106528288A (zh) |
WO (1) | WO2016145904A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933664A (zh) * | 2017-03-09 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | 一种Hadoop集群的资源调度方法及装置 |
CN107479683A (zh) * | 2017-08-15 | 2017-12-15 | 爱普(福建)科技有限公司 | 一种面向组态软件的串行计算方法 |
CN109034536A (zh) * | 2018-06-26 | 2018-12-18 | 天津字节跳动科技有限公司 | 服务资源调度方法、装置、计算机设备及存储介质 |
CN110087324A (zh) * | 2019-04-22 | 2019-08-02 | 京信通信系统(中国)有限公司 | 资源分配方法、装置、接入网设备和存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3832661A1 (en) | 2015-12-03 | 2021-06-09 | UNL Holdings LLC | Systems and methods for controlled drug delivery pumps |
CN108733476B (zh) * | 2017-04-20 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 一种执行多任务的方法和装置 |
CN111625592A (zh) * | 2019-02-28 | 2020-09-04 | 北京京东尚科信息技术有限公司 | 分布式数据库的负载均衡方法和装置 |
CN109992383B (zh) * | 2019-03-13 | 2022-11-22 | 南京苍穹浩瀚信息科技有限公司 | 一种充分利用网络计算资源的多租户大数据框架调度方法 |
CN111045811A (zh) * | 2019-12-23 | 2020-04-21 | 五八有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN112000480B (zh) * | 2020-08-25 | 2023-12-05 | 深圳忆联信息系统有限公司 | 提升ssd全盘扫描效率的方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
US20120079501A1 (en) * | 2010-09-27 | 2012-03-29 | Mark Henrik Sandstrom | Application Load Adaptive Processing Resource Allocation |
CN104317650A (zh) * | 2014-10-10 | 2015-01-28 | 北京工业大学 | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 |
US20150227393A1 (en) * | 2014-02-10 | 2015-08-13 | International Business Machines Corporation | Dynamic Resource Allocation in Mapreduce |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106249B (zh) * | 2013-01-08 | 2016-04-20 | 华中科技大学 | 一种基于Cassandra的数据并行处理系统 |
CN103617087B (zh) * | 2013-11-25 | 2017-04-26 | 华中科技大学 | 一种适合迭代计算的MapReduce优化方法 |
CN104268018B (zh) * | 2014-09-22 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种Hadoop集群中的作业调度方法和作业调度器 |
-
2015
- 2015-09-10 CN CN201510574287.3A patent/CN106528288A/zh not_active Withdrawn
- 2015-11-20 WO PCT/CN2015/095196 patent/WO2016145904A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
US20120079501A1 (en) * | 2010-09-27 | 2012-03-29 | Mark Henrik Sandstrom | Application Load Adaptive Processing Resource Allocation |
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
US20150227393A1 (en) * | 2014-02-10 | 2015-08-13 | International Business Machines Corporation | Dynamic Resource Allocation in Mapreduce |
CN104317650A (zh) * | 2014-10-10 | 2015-01-28 | 北京工业大学 | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933664A (zh) * | 2017-03-09 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | 一种Hadoop集群的资源调度方法及装置 |
CN106933664B (zh) * | 2017-03-09 | 2020-06-30 | 北京搜狐新媒体信息技术有限公司 | 一种Hadoop集群的资源调度方法及装置 |
CN107479683A (zh) * | 2017-08-15 | 2017-12-15 | 爱普(福建)科技有限公司 | 一种面向组态软件的串行计算方法 |
CN107479683B (zh) * | 2017-08-15 | 2019-12-20 | 爱普(福建)科技有限公司 | 一种面向组态软件的串行计算方法 |
CN109034536A (zh) * | 2018-06-26 | 2018-12-18 | 天津字节跳动科技有限公司 | 服务资源调度方法、装置、计算机设备及存储介质 |
CN110087324A (zh) * | 2019-04-22 | 2019-08-02 | 京信通信系统(中国)有限公司 | 资源分配方法、装置、接入网设备和存储介质 |
CN110087324B (zh) * | 2019-04-22 | 2022-09-30 | 京信网络系统股份有限公司 | 资源分配方法、装置、接入网设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016145904A1 (zh) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
US20180246771A1 (en) | Automated workflow selection | |
CN107688492B (zh) | 资源的控制方法、装置和集群资源管理系统 | |
CN106209682B (zh) | 业务调度方法、装置和系统 | |
US20230297498A1 (en) | Video memory management method, apparatus, device and system | |
US20200174844A1 (en) | System and method for resource partitioning in distributed computing | |
US9563474B2 (en) | Methods for managing threads within an application and devices thereof | |
Wang et al. | Pigeon: An effective distributed, hierarchical datacenter job scheduler | |
EP3380937A1 (en) | Techniques for analytics-driven hybrid concurrency control in clouds | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN103761146B (zh) | 一种MapReduce动态设定slots数量的方法 | |
CN106681840A (zh) | 一种云操作系统的任务调度方法及装置 | |
CN112114950A (zh) | 任务调度方法和装置、以及集群管理系统 | |
CN110187960A (zh) | 一种分布式资源调度方法及装置 | |
CN106462593B (zh) | 大规模并行处理数据库的系统和方法 | |
CN112181613B (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN107491346A (zh) | 一种应用的任务处理方法、装置及系统 | |
CN113886034A (zh) | 任务调度方法、系统、电子设备及存储介质 | |
JP4912927B2 (ja) | タスク割当装置、及びタスク割当方法 | |
CN110806928A (zh) | 一种作业提交方法及系统 | |
CN116185623A (zh) | 任务分配方法、装置、电子设备及存储介质 | |
US20100100703A1 (en) | System For Parallel Computing | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170322 |