CN104199739A - 一种基于负载均衡的推测式Hadoop调度方法 - Google Patents
一种基于负载均衡的推测式Hadoop调度方法 Download PDFInfo
- Publication number
- CN104199739A CN104199739A CN201410425841.7A CN201410425841A CN104199739A CN 104199739 A CN104199739 A CN 104199739A CN 201410425841 A CN201410425841 A CN 201410425841A CN 104199739 A CN104199739 A CN 104199739A
- Authority
- CN
- China
- Prior art keywords
- node
- task
- slow
- queue
- tasks
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
提出一种基于负载均衡的推测式Hadoop调度方法,首先需要判定慢任务,然后选取快节点执行慢任务的备份任务,在执行选定的慢任务的备份任务时保证集群系统的负载均衡。提出的所述方法通过设计了合理简单的慢任务确定方法及选取快节点执行备份任务的策略,优化了作业执行性能。这种策略不仅考虑了作业执行性能,也考虑了集群中负载均衡现象。该方法避免了集群负载失衡现象的发生,提高了Hadoop集群整体的性能。
Description
技术领域
本发明涉及计算机负载均衡技术领域,具体涉及一种基于负载均衡的推测式Hadoop调度方法。
背景技术
在数据量剧增的网络时代,Hadoop集群已经成为并行处理的研究系统,Hadoop平台是通过并行化处理框架MapReduce实现应用程序开发,并且并行化技术对开发者是透明的,便于开发者编写并行化程序,只需满足MapReduce框架即可。
任务调度算法是Hadoop平台上的核心技术之一,算法的主要功能是对任务执行的顺序及系统的计算资源进行合理的控制与分配。任务调度策略的优劣直接影响到Hadoop集群整个系统的执行性能和系统资源利用率的情况。现有的调度算法有FIFO,公平调度算法、计算容量调度算法和推测式算法。FIFO调度机制是所有的作业被统一提交到一个队列中,Hadoop按照提交的先后顺序依次运行这些作业,但是该算法不能满足不同应用场景的需求。公平调度算法和计算能力调度算法可以按照应用需求对用户或应用程序分组,不同的分组分配不同的资源量,同时通过添加各种约束条件防止单个用户或者应用程序独占资源。但由于公平调度算法负载不均衡,影响了系统的响应时间,同时配置文件的配置影响整个系统的性能。计算能力调度算法中队列设置和队列组无法自动进行及存在的局部最优现象影响系统整体性能的提高。
MapReduce模型将作业分解成任务,然后并行的运行任务,以使作业的整体执行时间少于各个任务顺序执行的时间。这使得作业执行时间对运行缓慢的任务很敏感,因为只运行一个缓慢的任务会使得整个作业所用的时间远长于执其它任务的时间。当一个作业由几百或几千任务组成时,可能就出现了个别任务运行缓慢,从而导致整个作业运行缓慢。当系统发现执行比预期慢的任务(慢是系统认为的),它会在另外的机器上重新启动一个相同的任务,这样两个任务同时执行,哪个先结束,就会kill掉慢的那一个。
推测式算法是根据作业中任务的进度推测执行任务的过程。本发明对于Hadoop中自带的推测式算法进行优化改进,提出了一种基于负载均衡的推测式Hadoop调度算法,该算法在能够保证任务运行的时间性能,同时避免了集群负载失衡的现象,提高了Hadoop集群整体的性能。
发明内容
为了实现本发明的目的,本发明提出的一种基于负载均衡的推测式Hadoop调度方法,包括:
S1:判定任务是否为慢任务,将确定的慢任务的备份任务放入慢任务队列;
S2:判定集群中的哪些节点为快节点;
S3:从慢任务队列中选取所述慢任务的备份任务,在负载低的快节点中执行所述慢任务的备份任务。
特别地,所述步骤S1具体为:
S11:根据任务的运行进度和运行时间计算该任务的剩余执行时间;
S12:根据步骤S11计算的所述剩余执行时间确定所述任务是否为慢任务;
S13:判定所述慢任务的备份任务数量是否大于设定的上限,如果不是,则将所述慢任务的备份任务放置入慢任务队列。
特别地,所述步骤S11具体为:
假设任务当前执行进度为A,任务已运行的时间为t,则可以计算出该任务的剩余执行时间为t1=t/A-t。
特别地,所述步骤S2具体为:
S21:判断节点队列中的队头节点是否为快节点;如果是则执行步骤S22,否则执行步骤S25;
S22:判断所述队头节点上当前运行的任务数是否超出集群中所有节点上运行的任务总数的平均值一定数值;如果否,则执行步骤S23;如果是,则执行步骤S24;
S23:选择该队头节点执行所述慢任务的备份任务,将该队头节点从节点队列中删除,流程结束;
S24:将所述队头节点更新为所述节点队列中的队尾节点,返回步骤S21;
S25:将所述队头节点从节点队列中删除,流程结束。
特别地,所述步骤S21中判断快节点的原则是:
如果慢任务在某节点上出现很少,则该节点被判断为快节点。
本发明的有益效果是:本发明采用的是Hadoop集群中推测式的特点,设计一种基于负载均衡的推测式Hadoop调度方法。通过设计了合理简单的慢任务确定方法及选取快节点执行备份任务的策略优化了作业执行性能,这种策略不仅考虑了作业执行性能,也考虑了集群中负载均衡现象。该调度方法避免了集群负载失衡现象的发生,提高了Hadoop集群整体的性能。
附图说明
图1是本发明提出的推测式Hadoop调度方法整体流程图;
图2是本发明提出的慢任务选定流程图;
图3是本发明提出的快节点执行备份任务流程图。
具体实施方式
为了使本发明的目的、技术方案更加清楚明白,下面给出本发明的具体实施方式,结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明。
本发明的目的是针对Hadoop集群中调度器优化不友好的特点,设计基于负载均衡的推测式Hadoop调度方法。在Hadoop集群中的推测式方法的慢任务选取及备份任务启动的节点有所优化。对于推测式方法中慢任务的选取要有合理的策略,该策略不能使得备份任务过多也不能选择不合理的备份任务。
在选取备份任务启动节点方面,需要判定在集群中的哪些节点是快节点,哪些是慢节点,然后将慢任务备份在快节点上,同时要保证集群的负载均衡,保证Hadoop集群任务运行的效率。
本发明的目的是这样实现的,一种基于负载均衡的推测式Hadoop调度方法首先需要判定慢任务,然后选取快节点执行慢任务的备份任务,在执行选定的满任务的备份任务时保证集群系统的负载均衡。
在判定慢任务时,为了使得推测更准确,不能随机的选取任务为其启动备份任务,只有确定为慢任务时才会启动备份任务。判定慢任务的方法是依据任务的剩余时间决定的,假设任务进度为A,任务运行时间为t,则可以计算出该任务的剩余时间为t1=t/A-t。根据任务的进度及运行时间估算出任务的剩余完成时间。基于剩余完成时间的多少对任务进行排序,选取剩余完成时间最大的任务作为慢任务。
在选取快节点执行慢任务的备份任务时,首先需要判定哪些节点是快节点。判定的标准是依据慢任务所在的节点进行累计,如果慢任务在某节点上出现很多,则该节点被认定为慢节点;相反,慢任务很少出现的节点被认定为快节点。在慢任务队列中选慢任务,在节点队列中选取节点时首先判定该节点是否为快节点,如果为快节点,则再判定该快节点的任务负载是否在可运行任务的范围内,如果都满足条件才可以将所述选取的慢任务安排到该快节点上执行,否则会将该快节点放入节点队列的队尾。
下面参照附图,具体描述本发明提出的一种基于负载均衡的推测式Hadoop调度方法。
首先部署分布式集群环境,基于操作系统centos6.3按照官方文档安装hadoop组件。然后将hdfs等服务开启。
实施例1:
参见图1,其示出了本发明提出的推测式Hadoop调度方法整体流程图。所述方法包括:
S1:方法启动,判定任务是否为慢任务;
依据任务的剩余执行时间来判断任务是否为慢任务,具体为:假设任务当前执行进度为A,任务已运行的时间为t,则可以计算出该任务的剩余时间为t1=t/A-t。根据任务的进度及已运行的时间估算出任务的剩余完成时间,基于剩余完成时间多少将任务排序,选取剩余完成时间最长的任务作为慢任务;将慢任务的备份任务放置入慢任务队列。
S2:判定集群中的哪些节点为快节点;
判定的标准具体为:如果慢任务在某节点上出现很多,则该节点被认定为慢节点;相反,慢任务很少出现的节点被认定为快节点。
S3:从慢任务队列中选取慢任务的备份任务,在负载低的快节点中执行所述慢任务的备份任务。
在慢任务队列中选取慢任务,在节点队列中选取首节点,判定该首节点是否为快节点,如果为快节点,则再判定该快节点的任务负载是否在可运行任务的范围内,如果都满足条件才可以将所述选取的慢任务的备份任务安排到该快节点上执行,否则将该快节点放入节点队列的队尾,再次选择节点队列中的首节点执行上述判断。
基于上述描述,在执行慢任务的备份任务过程中需要3个步骤,一是用合理的策略确定慢任务,二是确定集群中的快节点,三是依据集群节点的负载状况分配慢任务的备份任务在快节点中执行,从而提高Hadoop集群执行任务的性能。
实施例2:
本发明提出的确定慢任务的步骤流程如图2所示,包括如下步骤:
S11:根据任务的运行进度和运行时间计算该任务的剩余执行时间;
具体为:假设任务当前执行进度为A,任务已运行的时间为t,则可以计算出该任务的剩余时间为t1=t/A-t。
S12:根据步骤S11计算的所述剩余执行时间确定慢任务;
具体为:基于计算的各个任务的剩余完成时间多少将任务排序,选取剩余完成时间最长的任务作为慢任务。
S13:判定所述慢任务的备份任务数是否大于设定的上限;如果是,则流程结束;如果不是,则将所述慢任务的备份任务放置入慢任务队列,流程结束。
实施例3:
选择快节点执行慢任务的备份任务的流程图如附图3所示,包括如下流程:
S21:判断节点队列中的队头节点是否为快节点;如果是则执行步骤S22,否则执行步骤S25;
在集群系统中,将所有集群节点信息放置在队列中形成节点队列;在选择集群系统中的节点执行所述慢任务的备份任务时,判断当前节点队列中的队头节点是否为快节点。
本步骤根据如下原则判断慢节点和快节点:如果慢任务在某节点上出现很多,则该节点被判断为慢节点;相反,慢任务很少出现的节点被判断为快节点。
S22:判断所述队头节点上当前运行的任务数是否大于集群中所有节点上运行的任务数的平均值的20%;如果否,则执行步骤S23;如果是,则执行步骤S24;
S23:选择该队头节点执行慢任务的备份任务,将该队头节点从节点队列中删除,流程结束;
S24:将所述队头节点更新为所述节点队列中的队尾节点,返回步骤S21;
S25:将所述队头节点从节点队列中删除,流程结束。
在执行备份任务时需要根据慢任务队列信息确定集群每个节点是快节点还是慢节点,判断依据是统计每个节点中出现的慢任务的个数,按照个数的大小排列设定为慢节点或快节点。然后在节点队列中选取队头节点判定是否为快节点,如果是快节点则继续判定该队头节点负载情况,若是负载较小的节点,则将该备份任务在该队头节点上执行并将该队头节点从节点队列中删除,否则该队头节点更新尾节点队列的队尾节点。如果判定的队头节点不是快节点,则将该队头节点从节点队列中删除。
上述的调度方法完成后,与集群中原有的LATE调度器进行对比试验,在集群中执行wordcount作业来测试调度方法,测试的文本为1.5GB。实验结果如下表1所示表明该方法具有很好的性能,改善了整个Hadoop集群的性能。
表1基于负载均衡的推测式方法与LATE方法比较结果
测试作业 | WordCount |
基于负载均衡的推测式方法运行时间(s) | 1186 |
LATE方法运行时间(s) | 890 |
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (5)
1.一种基于负载均衡的推测式Hadoop调度方法,其特征在于,包括:
S1:判定任务是否为慢任务,将确定的慢任务的备份任务放入慢任务队列;
S2:判定集群中的哪些节点为快节点;
S3:从慢任务队列中选取所述慢任务的备份任务,在负载低的快节点中执行所述慢任务的备份任务。
2.如权利要求1所述的方法,其特征在于:
所述步骤S1具体为:
S11:根据任务的运行进度和运行时间计算该任务的剩余执行时间;
S12:根据步骤S11计算的所述剩余执行时间确定所述任务是否为慢任务;
S13:判定所述慢任务的备份任务数量是否大于设定的上限,如果不是,则将所述慢任务的备份任务放置入慢任务队列。
3.如权利要求2所述的方法,其特征在于,所述步骤S11具体为:
假设任务当前执行进度为A,任务已运行的时间为t,则可以计算出该任务的剩余执行时间为t1=t/A-t。
4.如权利要求1所述的方法,其特征在于:
所述步骤S2具体为:
S21:判断节点队列中的队头节点是否为快节点;如果是则执行步骤S22,否则执行步骤S25;
S22:判断所述队头节点上当前运行的任务数是否超出集群中所有节点上运行的任务总数的平均值一定数值;如果否,则执行步骤S23;如果是,则执行步骤S24;
S23:选择该队头节点执行所述慢任务的备份任务,将该队头节点从节点队列中删除,流程结束;
S24:将所述队头节点更新为所述节点队列中的队尾节点,返回步骤S21;
S25:将所述队头节点从节点队列中删除,流程结束。
5.如权利要求4所述的方法,其特征在于,所述步骤S21中判断快节点的原则是:
如果慢任务在某节点上出现很少,则该节点被判断为快节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410425841.7A CN104199739B (zh) | 2014-08-26 | 2014-08-26 | 一种基于负载均衡的推测式Hadoop调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410425841.7A CN104199739B (zh) | 2014-08-26 | 2014-08-26 | 一种基于负载均衡的推测式Hadoop调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199739A true CN104199739A (zh) | 2014-12-10 |
CN104199739B CN104199739B (zh) | 2018-09-25 |
Family
ID=52085036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410425841.7A Active CN104199739B (zh) | 2014-08-26 | 2014-08-26 | 一种基于负载均衡的推测式Hadoop调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199739B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765648A (zh) * | 2015-04-30 | 2015-07-08 | 北京奇艺世纪科技有限公司 | 一种基于实时计算系统的问题节点检测方法及装置 |
CN105138405A (zh) * | 2015-08-06 | 2015-12-09 | 湖南大学 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
CN105630945A (zh) * | 2015-12-23 | 2016-06-01 | 浪潮集团有限公司 | 一种基于HBase区域数据过热的平衡方法 |
CN105824934A (zh) * | 2016-03-18 | 2016-08-03 | 杭州数梦工场科技有限公司 | 查找分布式etl中慢节点的方法和装置 |
WO2017041674A1 (zh) * | 2015-09-10 | 2017-03-16 | 阿里巴巴集团控股有限公司 | 一种启动备份任务的方法、装置及电子设备 |
CN107959692A (zh) * | 2016-10-14 | 2018-04-24 | 中国电信股份有限公司 | 用于获得安全资源的等效负载的方法和系统 |
CN108196939A (zh) * | 2017-12-29 | 2018-06-22 | 珠海国芯云科技有限公司 | 用于云计算的虚拟机智能管理方法及装置 |
CN108287753A (zh) * | 2017-12-29 | 2018-07-17 | 珠海国芯云科技有限公司 | 计算机系统快速调度方法及装置 |
CN108304254A (zh) * | 2017-12-29 | 2018-07-20 | 珠海国芯云科技有限公司 | 快速虚拟机进程调度控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070286184A1 (en) * | 2006-05-19 | 2007-12-13 | Manabu Miyazaki | Cluster system, load distribution method, optimization client program, and arbitration server program |
CN103246570A (zh) * | 2013-05-20 | 2013-08-14 | 百度在线网络技术(北京)有限公司 | Hadoop的调度方法、系统及管理节点 |
-
2014
- 2014-08-26 CN CN201410425841.7A patent/CN104199739B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070286184A1 (en) * | 2006-05-19 | 2007-12-13 | Manabu Miyazaki | Cluster system, load distribution method, optimization client program, and arbitration server program |
CN103246570A (zh) * | 2013-05-20 | 2013-08-14 | 百度在线网络技术(北京)有限公司 | Hadoop的调度方法、系统及管理节点 |
Non-Patent Citations (2)
Title |
---|
刘奎,刘向东等: "基于数据局部性的推测式Hadoop任务调度算法研究", 《计算机应用研究》 * |
玄吉: "云计算中对于MapReduce调度机制的研究与改进", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765648B (zh) * | 2015-04-30 | 2017-12-08 | 北京奇艺世纪科技有限公司 | 一种基于实时计算系统的问题节点检测方法及装置 |
CN104765648A (zh) * | 2015-04-30 | 2015-07-08 | 北京奇艺世纪科技有限公司 | 一种基于实时计算系统的问题节点检测方法及装置 |
CN105138405B (zh) * | 2015-08-06 | 2019-05-14 | 湖南大学 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
CN105138405A (zh) * | 2015-08-06 | 2015-12-09 | 湖南大学 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
WO2017041674A1 (zh) * | 2015-09-10 | 2017-03-16 | 阿里巴巴集团控股有限公司 | 一种启动备份任务的方法、装置及电子设备 |
CN105630945A (zh) * | 2015-12-23 | 2016-06-01 | 浪潮集团有限公司 | 一种基于HBase区域数据过热的平衡方法 |
CN105824934A (zh) * | 2016-03-18 | 2016-08-03 | 杭州数梦工场科技有限公司 | 查找分布式etl中慢节点的方法和装置 |
CN105824934B (zh) * | 2016-03-18 | 2019-06-11 | 杭州数梦工场科技有限公司 | 查找分布式etl中慢节点的方法和装置 |
CN107959692A (zh) * | 2016-10-14 | 2018-04-24 | 中国电信股份有限公司 | 用于获得安全资源的等效负载的方法和系统 |
CN108304254A (zh) * | 2017-12-29 | 2018-07-20 | 珠海国芯云科技有限公司 | 快速虚拟机进程调度控制方法及装置 |
CN108287753A (zh) * | 2017-12-29 | 2018-07-17 | 珠海国芯云科技有限公司 | 计算机系统快速调度方法及装置 |
CN108196939A (zh) * | 2017-12-29 | 2018-06-22 | 珠海国芯云科技有限公司 | 用于云计算的虚拟机智能管理方法及装置 |
CN108196939B (zh) * | 2017-12-29 | 2022-02-18 | 珠海国芯云科技有限公司 | 用于云计算的虚拟机智能管理方法及装置 |
CN108287753B (zh) * | 2017-12-29 | 2022-02-22 | 珠海国芯云科技有限公司 | 计算机系统快速调度方法及装置 |
CN108304254B (zh) * | 2017-12-29 | 2022-02-22 | 珠海国芯云科技有限公司 | 快速虚拟机进程调度控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104199739B (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
Ge et al. | GA-based task scheduler for the cloud computing systems | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
JP5664098B2 (ja) | 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN107291550B (zh) | 一种针对迭代应用的Spark平台资源动态分配方法及系统 | |
US20140282540A1 (en) | Performant host selection for virtualization centers | |
CN101604264A (zh) | 超级计算机的任务调度方法及系统 | |
Wu et al. | Optimizing the performance of big data workflows in multi-cloud environments under budget constraint | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
CN104461748A (zh) | 一种基于MapReduce的最优本地化任务调度方法 | |
JP2014186364A (ja) | 分散システム | |
CN114816753A (zh) | 一种数据集群计算节点扩缩方法、装置、设备及介质 | |
US8028291B2 (en) | Method and computer program product for job selection and resource allocation of a massively parallel processor | |
Wang et al. | Dependency-aware network adaptive scheduling of data-intensive parallel jobs | |
Stavrinides et al. | The impact of checkpointing interval selection on the scheduling performance of real‐time fine‐grained parallel applications in SaaS clouds under various failure probabilities | |
Liu et al. | Scheduling parallel jobs using migration and consolidation in the cloud | |
Guo | Ant colony optimization computing resource allocation algorithm based on cloud computing environment | |
JP5444900B2 (ja) | ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム | |
Papazachos et al. | Scheduling of frequently communicating tasks | |
Anselmi et al. | Stability and optimization of speculative queueing networks | |
JP5983623B2 (ja) | タスク配置装置及びタスク配置方法 | |
US20230236897A1 (en) | On-demand clusters in container computing environment | |
CN106599184B (zh) | 一种Hadoop系统优化方法 | |
JP2014206805A (ja) | 制御装置 |
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 |