《一种基于负载均衡的推测式HADOOP调度方法.pdf》由会员分享,可在线阅读,更多相关《一种基于负载均衡的推测式HADOOP调度方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104199739A43申请公布日20141210CN104199739A21申请号201410425841722申请日20140826G06F9/5020060171申请人浪潮(北京)电子信息产业有限公司地址100085北京市海淀区上地信息路2号21号C栋1层72发明人郭美思吴楠74专利代理机构北京安信方达知识产权代理有限公司11262代理人王丹李丹54发明名称一种基于负载均衡的推测式HADOOP调度方法57摘要提出一种基于负载均衡的推测式HADOOP调度方法,首先需要判定慢任务,然后选取快节点执行慢任务的备份任务,在执行选定的慢任务的备份任务时保证集群系统的负载均衡。提出。
2、的所述方法通过设计了合理简单的慢任务确定方法及选取快节点执行备份任务的策略,优化了作业执行性能。这种策略不仅考虑了作业执行性能,也考虑了集群中负载均衡现象。该方法避免了集群负载失衡现象的发生,提高了HADOOP集群整体的性能。51INTCL权利要求书1页说明书5页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书5页附图2页10申请公布号CN104199739ACN104199739A1/1页21一种基于负载均衡的推测式HADOOP调度方法,其特征在于,包括S1判定任务是否为慢任务,将确定的慢任务的备份任务放入慢任务队列;S2判定集群中的哪些节点为快节点;S3从慢任务。
3、队列中选取所述慢任务的备份任务,在负载低的快节点中执行所述慢任务的备份任务。2如权利要求1所述的方法,其特征在于所述步骤S1具体为S11根据任务的运行进度和运行时间计算该任务的剩余执行时间;S12根据步骤S11计算的所述剩余执行时间确定所述任务是否为慢任务;S13判定所述慢任务的备份任务数量是否大于设定的上限,如果不是,则将所述慢任务的备份任务放置入慢任务队列。3如权利要求2所述的方法,其特征在于,所述步骤S11具体为假设任务当前执行进度为A,任务已运行的时间为T,则可以计算出该任务的剩余执行时间为T1T/AT。4如权利要求1所述的方法,其特征在于所述步骤S2具体为S21判断节点队列中的队头节。
4、点是否为快节点;如果是则执行步骤S22,否则执行步骤S25;S22判断所述队头节点上当前运行的任务数是否超出集群中所有节点上运行的任务总数的平均值一定数值;如果否,则执行步骤S23;如果是,则执行步骤S24;S23选择该队头节点执行所述慢任务的备份任务,将该队头节点从节点队列中删除,流程结束;S24将所述队头节点更新为所述节点队列中的队尾节点,返回步骤S21;S25将所述队头节点从节点队列中删除,流程结束。5如权利要求4所述的方法,其特征在于,所述步骤S21中判断快节点的原则是如果慢任务在某节点上出现很少,则该节点被判断为快节点。权利要求书CN104199739A1/5页3一种基于负载均衡的推。
5、测式HADOOP调度方法技术领域0001本发明涉及计算机负载均衡技术领域,具体涉及一种基于负载均衡的推测式HADOOP调度方法。背景技术0002在数据量剧增的网络时代,HADOOP集群已经成为并行处理的研究系统,HADOOP平台是通过并行化处理框架MAPREDUCE实现应用程序开发,并且并行化技术对开发者是透明的,便于开发者编写并行化程序,只需满足MAPREDUCE框架即可。0003任务调度算法是HADOOP平台上的核心技术之一,算法的主要功能是对任务执行的顺序及系统的计算资源进行合理的控制与分配。任务调度策略的优劣直接影响到HADOOP集群整个系统的执行性能和系统资源利用率的情况。现有的调度。
6、算法有FIFO,公平调度算法、计算容量调度算法和推测式算法。FIFO调度机制是所有的作业被统一提交到一个队列中,HADOOP按照提交的先后顺序依次运行这些作业,但是该算法不能满足不同应用场景的需求。公平调度算法和计算能力调度算法可以按照应用需求对用户或应用程序分组,不同的分组分配不同的资源量,同时通过添加各种约束条件防止单个用户或者应用程序独占资源。但由于公平调度算法负载不均衡,影响了系统的响应时间,同时配置文件的配置影响整个系统的性能。计算能力调度算法中队列设置和队列组无法自动进行及存在的局部最优现象影响系统整体性能的提高。0004MAPREDUCE模型将作业分解成任务,然后并行的运行任务,。
7、以使作业的整体执行时间少于各个任务顺序执行的时间。这使得作业执行时间对运行缓慢的任务很敏感,因为只运行一个缓慢的任务会使得整个作业所用的时间远长于执其它任务的时间。当一个作业由几百或几千任务组成时,可能就出现了个别任务运行缓慢,从而导致整个作业运行缓慢。当系统发现执行比预期慢的任务慢是系统认为的,它会在另外的机器上重新启动一个相同的任务,这样两个任务同时执行,哪个先结束,就会KILL掉慢的那一个。0005推测式算法是根据作业中任务的进度推测执行任务的过程。本发明对于HADOOP中自带的推测式算法进行优化改进,提出了一种基于负载均衡的推测式HADOOP调度算法,该算法在能够保证任务运行的时间性能。
8、,同时避免了集群负载失衡的现象,提高了HADOOP集群整体的性能。发明内容0006为了实现本发明的目的,本发明提出的一种基于负载均衡的推测式HADOOP调度方法,包括0007S1判定任务是否为慢任务,将确定的慢任务的备份任务放入慢任务队列;0008S2判定集群中的哪些节点为快节点;0009S3从慢任务队列中选取所述慢任务的备份任务,在负载低的快节点中执行所述慢任务的备份任务。说明书CN104199739A2/5页40010特别地,所述步骤S1具体为0011S11根据任务的运行进度和运行时间计算该任务的剩余执行时间;0012S12根据步骤S11计算的所述剩余执行时间确定所述任务是否为慢任务;00。
9、13S13判定所述慢任务的备份任务数量是否大于设定的上限,如果不是,则将所述慢任务的备份任务放置入慢任务队列。0014特别地,所述步骤S11具体为0015假设任务当前执行进度为A,任务已运行的时间为T,则可以计算出该任务的剩余执行时间为T1T/AT。0016特别地,所述步骤S2具体为0017S21判断节点队列中的队头节点是否为快节点;如果是则执行步骤S22,否则执行步骤S25;0018S22判断所述队头节点上当前运行的任务数是否超出集群中所有节点上运行的任务总数的平均值一定数值;如果否,则执行步骤S23;如果是,则执行步骤S24;0019S23选择该队头节点执行所述慢任务的备份任务,将该队头节。
10、点从节点队列中删除,流程结束;0020S24将所述队头节点更新为所述节点队列中的队尾节点,返回步骤S21;0021S25将所述队头节点从节点队列中删除,流程结束。0022特别地,所述步骤S21中判断快节点的原则是0023如果慢任务在某节点上出现很少,则该节点被判断为快节点。0024本发明的有益效果是本发明采用的是HADOOP集群中推测式的特点,设计一种基于负载均衡的推测式HADOOP调度方法。通过设计了合理简单的慢任务确定方法及选取快节点执行备份任务的策略优化了作业执行性能,这种策略不仅考虑了作业执行性能,也考虑了集群中负载均衡现象。该调度方法避免了集群负载失衡现象的发生,提高了HADOOP集。
11、群整体的性能。附图说明0025图1是本发明提出的推测式HADOOP调度方法整体流程图;0026图2是本发明提出的慢任务选定流程图;0027图3是本发明提出的快节点执行备份任务流程图。具体实施方式0028为了使本发明的目的、技术方案更加清楚明白,下面给出本发明的具体实施方式,结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明。0029本发明的目的是针对HADOOP集群中调度器优化不友好的特点,设计基于负载均衡的推测式HADOOP调度方法。在HADOOP集群中的推测式方法的慢任务选取及备份任务启动的节点有所优化。对于推测式方法中慢任务的选取要有合理的策略,。
12、该策略不能使得备份任务过多也不能选择不合理的备份任务。0030在选取备份任务启动节点方面,需要判定在集群中的哪些节点是快节点,哪些是说明书CN104199739A3/5页5慢节点,然后将慢任务备份在快节点上,同时要保证集群的负载均衡,保证HADOOP集群任务运行的效率。0031本发明的目的是这样实现的,一种基于负载均衡的推测式HADOOP调度方法首先需要判定慢任务,然后选取快节点执行慢任务的备份任务,在执行选定的满任务的备份任务时保证集群系统的负载均衡。0032在判定慢任务时,为了使得推测更准确,不能随机的选取任务为其启动备份任务,只有确定为慢任务时才会启动备份任务。判定慢任务的方法是依据任务。
13、的剩余时间决定的,假设任务进度为A,任务运行时间为T,则可以计算出该任务的剩余时间为T1T/AT。根据任务的进度及运行时间估算出任务的剩余完成时间。基于剩余完成时间的多少对任务进行排序,选取剩余完成时间最大的任务作为慢任务。0033在选取快节点执行慢任务的备份任务时,首先需要判定哪些节点是快节点。判定的标准是依据慢任务所在的节点进行累计,如果慢任务在某节点上出现很多,则该节点被认定为慢节点;相反,慢任务很少出现的节点被认定为快节点。在慢任务队列中选慢任务,在节点队列中选取节点时首先判定该节点是否为快节点,如果为快节点,则再判定该快节点的任务负载是否在可运行任务的范围内,如果都满足条件才可以将所。
14、述选取的慢任务安排到该快节点上执行,否则会将该快节点放入节点队列的队尾。0034下面参照附图,具体描述本发明提出的一种基于负载均衡的推测式HADOOP调度方法。0035首先部署分布式集群环境,基于操作系统CENTOS63按照官方文档安装HADOOP组件。然后将HDFS等服务开启。0036实施例10037参见图1,其示出了本发明提出的推测式HADOOP调度方法整体流程图。所述方法包括0038S1方法启动,判定任务是否为慢任务;0039依据任务的剩余执行时间来判断任务是否为慢任务,具体为假设任务当前执行进度为A,任务已运行的时间为T,则可以计算出该任务的剩余时间为T1T/AT。根据任务的进度及已运。
15、行的时间估算出任务的剩余完成时间,基于剩余完成时间多少将任务排序,选取剩余完成时间最长的任务作为慢任务;将慢任务的备份任务放置入慢任务队列。0040S2判定集群中的哪些节点为快节点;0041判定的标准具体为如果慢任务在某节点上出现很多,则该节点被认定为慢节点;相反,慢任务很少出现的节点被认定为快节点。0042S3从慢任务队列中选取慢任务的备份任务,在负载低的快节点中执行所述慢任务的备份任务。0043在慢任务队列中选取慢任务,在节点队列中选取首节点,判定该首节点是否为快节点,如果为快节点,则再判定该快节点的任务负载是否在可运行任务的范围内,如果都满足条件才可以将所述选取的慢任务的备份任务安排到该。
16、快节点上执行,否则将该快节点放入节点队列的队尾,再次选择节点队列中的首节点执行上述判断。0044基于上述描述,在执行慢任务的备份任务过程中需要3个步骤,一是用合理的策略确定慢任务,二是确定集群中的快节点,三是依据集群节点的负载状况分配慢任务的备说明书CN104199739A4/5页6份任务在快节点中执行,从而提高HADOOP集群执行任务的性能。0045实施例20046本发明提出的确定慢任务的步骤流程如图2所示,包括如下步骤0047S11根据任务的运行进度和运行时间计算该任务的剩余执行时间;0048具体为假设任务当前执行进度为A,任务已运行的时间为T,则可以计算出该任务的剩余时间为T1T/AT。。
17、0049S12根据步骤S11计算的所述剩余执行时间确定慢任务;0050具体为基于计算的各个任务的剩余完成时间多少将任务排序,选取剩余完成时间最长的任务作为慢任务。0051S13判定所述慢任务的备份任务数是否大于设定的上限;如果是,则流程结束;如果不是,则将所述慢任务的备份任务放置入慢任务队列,流程结束。0052实施例30053选择快节点执行慢任务的备份任务的流程图如附图3所示,包括如下流程0054S21判断节点队列中的队头节点是否为快节点;如果是则执行步骤S22,否则执行步骤S25;0055在集群系统中,将所有集群节点信息放置在队列中形成节点队列;在选择集群系统中的节点执行所述慢任务的备份任务。
18、时,判断当前节点队列中的队头节点是否为快节点。0056本步骤根据如下原则判断慢节点和快节点如果慢任务在某节点上出现很多,则该节点被判断为慢节点;相反,慢任务很少出现的节点被判断为快节点。0057S22判断所述队头节点上当前运行的任务数是否大于集群中所有节点上运行的任务数的平均值的20;如果否,则执行步骤S23;如果是,则执行步骤S24;0058S23选择该队头节点执行慢任务的备份任务,将该队头节点从节点队列中删除,流程结束;0059S24将所述队头节点更新为所述节点队列中的队尾节点,返回步骤S21;0060S25将所述队头节点从节点队列中删除,流程结束。0061在执行备份任务时需要根据慢任务队。
19、列信息确定集群每个节点是快节点还是慢节点,判断依据是统计每个节点中出现的慢任务的个数,按照个数的大小排列设定为慢节点或快节点。然后在节点队列中选取队头节点判定是否为快节点,如果是快节点则继续判定该队头节点负载情况,若是负载较小的节点,则将该备份任务在该队头节点上执行并将该队头节点从节点队列中删除,否则该队头节点更新尾节点队列的队尾节点。如果判定的队头节点不是快节点,则将该队头节点从节点队列中删除。0062上述的调度方法完成后,与集群中原有的LATE调度器进行对比试验,在集群中执行WORDCOUNT作业来测试调度方法,测试的文本为15GB。实验结果如下表1所示表明该方法具有很好的性能,改善了整个HADOOP集群的性能。0063表1基于负载均衡的推测式方法与LATE方法比较结果0064说明书CN104199739A5/5页7测试作业WORDCOUNT基于负载均衡的推测式方法运行时间S1186LATE方法运行时间S8900065当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。说明书CN104199739A1/2页8图1图2说明书附图CN104199739A2/2页9图3说明书附图CN104199739A。