Hadoop集群作业的调度研究资料.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop MapReduce引擎是由JobTracker和TaskTracker组成,下图是Hadoop的结构。 传统调度器: FIFO 批处理调度器 Fair Scheduler 多用户调度器 Capacity Scheduler 多用户调度器 新特性调度器: 适用于异构负载的调度器 适用于异构集群的调度器LATE 适用于实时作业的调度器Constraint-based Scheduler 最早的Hadoop Map/Reduce计算架构中,JobTracker在进行作业调度时使用的是FIFO(First In First Out)算法。所有用户的作业都被提交到一个队列中,然后由JobTracker先按照作业的优先级高低,再按照作业提交时间的先后顺序选择将被执行的作业。 FIFO比较简单,hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾。一个作业运行完后,总是从队首取下一个作业运行。这种调度策略的优点是简单、易于实现,同时也减轻了jobtracker的负担。但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑到作业的紧迫程度,另外对小作业的运行不利。 FIFO调度器 FIFO调度器 2、Fair公平调度器 算法设计思想: 适用于多用户情形。当集群中由多个用户提交作业时,为了保证公平性,调度器为每个用户或每个UNIX Group分配一个资源池。资源池里的每个作业都会按照其作业权重分配最小资源共享量以保证每个作业都能得到执行而不至于饥饿。当集群中的某个节点出现空闲的slot时,则选择目前已获得的资源量和理论上应获得的资源量的差值最大的作业来执行,以保证公平。 主要特点: 支持多用户多队列: 资源公平共享(公平共享量有优先级决定):公平调度器按照资源池(pool)来组织作业,并把资源公平地分到这些资源池里。默认情况下,每个用户拥有一个独立的资源池,以使每个用户不管提交多少作业都能获得一份等同的集群资源量。资源池也可以依据一定的权重来获取相应比例的资源份额。资源池实际上也可以称为队列。 保证最小共享量:除公平共享,公平调度算法还能为资源池设定其所需的最小共享量,管理员可以给每个pool配置一个最小共享量,调度器在分配资源时,需要保证每个pool中的作业获取该数目的资源。这样确保用户或应用程序总能获取足够的资源,由此可以提高整个系统的资源利用率。 支持时间片抢占:公平调度器支持抢占,如果一个池在一定时间内未得到公平地资源分配,调度器就会终止池中得到过多资源的任务,将集群资源让给此资源池。 限制作业并发量,防止中间数据塞满硬盘:公平调度算法调度运行所有用户作业,但也可以限定每个资源池中最大并发作业数和每个用户最多提交作业数。如果一次性运行大作业,会导致产生过多的中间记录信息以及过多的上下文切换,这都会影响到作业执行的性能。超过数量的作业将在调度队列中等待,直到一些资源池的早期作业完成。每个资源池对作业的调度方式可以配置,支持两种调度策略,分别为FIFO和公平调度。 动态调整各个资源池的资源量:当集群中存在多个资源池时,某些资源池的资源可能用不了,这时调度器会自动将这些资源池中的剩余资源共享给其它所需要的资源池,其它这些资源获取的共享资源多少主要由资源池权重决定,权重越大,获取的资源越多,一个资源池的最小共享量加上其获取的共享资源就是公平共享量。 公平调度器的实现—基本概念 Pool:资源池,或者作业池。 每个pool里有一定量的资源(CPU、内存、网络IO,磁盘等,这些由管理员配置),每个用户属于某个pool,其作业可使用这个pool中的资源,可限定每个pool中最大并发作业数和每个用户最多提交作业数。默认情况下,一个linux用户对应一个pool,而管理员也可以配以一个linux group对应一个pool。pool实际上也可以称为group或者队列。 最小共享量:管理员可给每个pool配置一个最小共享量,调度器在分配资源时,需要保证每个pool中的作业至少获取该数目的资源。一个常见的应用场景是,对产品pool设置最小共享量,而测试pool不设置,这样,当可用资源有限时时,优先保证产品pool有资源可用。 公平共享量:当集群中存在多个pool时,某些pool中的资源可能用不了,这时候调度器会自动将这些pool中剩余的资源共享给其他需要的pool,其他这些pool获取的共享资源多少主要由其pool weight决定,pool weight越大,获取的资源越多。 一个pool的最小共享量加上其获取的共享资源数目,就是公平共

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档