- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于Hadoop集群作业调度算法探讨
关于Hadoop集群作业调度算法探讨
摘要: 随着信息和数据爆炸式增长,Hadoop等海量数据处理平台日益重要,作业调度算法是Hadoop集群的核心,本文对Hadoop集群默认的三种作业调度算法以及异构集群环境下的作业调度算法进行了系统的研究和对比,并提出了今后相关科研工作的重点。
Abstract: With the explosive growth of information and data,mass data processing platform such as Hadoop is more and more important. Job-scheduling algorithm is the core of Hadoop cluster.Three acquiescent job-scheduling algorithms of Hadoop cluster and the job-scheduling algorithm of heterogeneous cluster have been researched and compared.The key point of future research is proposed.
关键词: Hadoop集群;海量数据;作业调度
Key words: Hadoop cluster;mass data;job-scheduling
中图分类号:TP39 文献标识码:A 文章编号:1006-4311(2013)07-0187-02
0 引言
Hadoop是一个能够对海量数据进行分布式处理的具有可靠性和可扩展性的存储与计算平台,其中作业调度算法是Hadoop集群的核心,一个好的调度算法可以提高整个集群的利用率和吞吐率。Hadoop中常用的作业调度算法包括FIFO算法、公平份额调度算法、计算能力调度算法,近来国内外广大科研工作积极投入相关的科研工作,从各个方面对整个集群整体性能的提高做出了积极的贡献。随着现代信息及数据的爆炸式增长,对Hadoop性能的要求也越来越高,所以如何设计一种高效的作业调度算法将是今后Hadoop研究工作的重点。
1 当前Hadoop平台默认的三种作业调度算法
1.1 FIFO算法 FIFO(First In First Out)算法[1],即先进先出算法,这是Hadoop调度器默认的作业调度算法,用户的所有作业被提交到一个队列中,JobTracker结节根据作业提交时间的先后顺序来选择将被执行的作业,排在前面的作业执行完之后,后来的作业才能执行,该算法具有调度算法简单明了,容易实现,JobTracker调度开销小的优点,但是FIFO具有自身的局限性。在Hadoop平台的最早的MapReduce计算架构中,面对的基本都是单用户提交的大型批处理,所以FIFO主要是针对单用户单一类型作业而设计的。在面对多用户共享同一平台运行多类型作业时,FIFO算法无法识别不同用户不同作业间的需求差??[2],所以,随着用户数量及作业类型的增多,应用FIFO调度算法的平台往往会出现整体性能和系统资源利用率比较低的情况,严重影响到作业的执行效率。如果Job1是一个海量数据处理的大型作业,预计执行时间1小时,而Job2和Job3只是一个简单的交互型作业,预计执行时间均为1s,那么根据FIFO算法,Job2和Job3只能等3600s和3601s才能执行,这将大大降低了系统的整体效率及严重影响了用户的体验。因此,随着Hadoop平台的使用率越来越高及多用户共享同一平台运行多种类型作业的需求的不断增加,FIFO算法已经不能满足用户的需求,需要能适应新要求的作业调度算法。
1.2 公平份额调度算法 公平份额调度算法(Fair Scheduler)是Facebook工程师们针对FIFO作业调度算法存在的问题提出的作业调度的新算法,旨在使MapReduce计算框架适应多用户共享同一平台,更好并行处理多种类型作业的需求。当系统中只有一个作业在执行时,它可以独占整个系统的资源,但是当有其它作业加入时,或者有多个作业时,那么JobTracker将重新进行调度,系统释放相应比例的TaskTracker,并把这些TaskTracker分配给新提交的作业,以保证所有作业都能平均分配到系统的资源。这样,如FIFO算法中的例子,Job2和Job3两个交互型短作业很快就能得到处理,同时Job1大型作业也能够得到执行,不至于长期处于饥饿状态。
在公平份额调度算法实际应用过程中,不管是作业池还是作业都被赋予了一定的权值,系统并以此为依据给予分配相应比例的资源。根据这种机制,虽然各作业池和作业在共享资源时不再是严格的平均分配,但是系统更合理地
文档评论(0)