b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

mapreduce的工作原理_mapreduce计算原理_mapreduce的作用(8)

电脑杂谈  发布时间:2017-03-13 14:37:59  来源:网络整理

在Hadoop中,MapReduce的调度器可以选择。默认的调度器是原始的基于队列的FIFO调度器,还有两个用户调度器,分别名为Fair Scheduler和Capacity Scheduler。

5.1.Fair Scheduler(facebook)

Fair Scheduler的目标是让每一个用户公平地共享集群能力。如果只有一个作业在运行,他会得到集群的所有资源。随着提交的作业越来越多,空闲的任务槽会以“让每个用户公平共享集群”这种方式进行分配。某个用户的一个短的作业将在合理的时间内完成,即便另一个用户的长时间作业正在运行而且还在运行过程中。

作业都被放在作业池中,在默认情况下,每个用户都有自己的作业池。提交作业数超过另一个用户的用户,不会因此而比后者获得更多集群资源。可以用map和reduce的任务槽数来定制作业池的最小容量,也可以设置每个池的权重。

Fair Scheduler支持抢占,所以,如果一个池在特定的一段时间内未得到公平的资源共享,他会中止运行池中得到过多资源的任务,以便把任务槽让给运行资源不足的池。

Fair Scheduler是一个后续模块。要使用它,需要将其JAR文件放在Hadoop的类路径,即将它从Hadoop的contrib/fairsheduler目录复制到lib目录。随后,像下面这样配置mapred.jobtracker.taskScheduler属性:org.apache.hadoop.mapred.FairScheduler。

1、总结来说,公平调度主要有一下特点:

①支持多用户多队列;②资源公平共享(公平共享量由优先级决定);③保证最小共享量;④支持抢占资源;⑤限制作业并发量,以防止中间数据塞满磁盘;⑥添加delay Scheduler机制,使调度策略更优;⑦每个队列的调度策略(提交到队列的job)可以配置,支持两种调度策略,分别是FIFO(按照job优先级高低调度,job优先级越高,则会优先调度运行)和FAIR(公平调度算法,job同时运行,但是会按照job的优先级分配资源,job的优先级越高分配到的资源越多)。

2、先了解几个概念:

①Pool:资源池,或者作业池。每个pool里有一定量的资源(管理员配置),每个用户属于某个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的最小共享量加上其获取的共享资源数目,就是公平共享量。

3、资源抢占

当一定时间(管理员配置)内,某个pool中获取的资源量少于最小共享量,或者公平共享量的一半,则调度器会找出哪个pool抢占了该pool的资源,并杀死相应数量的task以抢占资源。之所以要进行抢占,还是为了“公平”,即:保证每个pool能获取到它应得到的资源。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-37299-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 刘佳丽
      刘佳丽

      不懂什么叫升级改造吗

    热点图片
    拼命载入中...