前言:
此时兄弟们对“hadoop中默认的调度器是什么”都比较关切,你们都想要知道一些“hadoop中默认的调度器是什么”的相关知识。那么小编在网摘上汇集了一些有关“hadoop中默认的调度器是什么””的相关内容,希望你们能喜欢,各位老铁们一起来学习一下吧!
我们说,当有请求来了以后,resourcemanager接收到请求以后,会生成一个task任务
然后把任务放到,任务队列中去,然后那么;任务队列的执行规则是什么呢?
这里有3个规则,一个是FIFO规则,一个是Fair Scheduler公平调度器,
一个是Capacity 调度器,容量调度器,这里 Apache hadoop3.1.3 默认用的
capacity 容量调度器,然后CDH 用的是公平调度器.
然后我们可以去看一看,yarn-default.xml这个yarn的配置文件
可以看到Apache hadoop3.1.3 默认用的是 capacityscheduler 容量调度器,然后
1.首先我们去看一下这个fifo的调度器,可以看到这个调度器,遵守的规则是先进先出的原则,
可以看到一堆的,job1....job6,进来以后,先进来的job1,等有了节点资源以后,会优先得到资源
看看自己的job1,需要几个资源maptask0 ,1,2,3 reducetask0 ,1可以看到这里需要6个,那如果
这个时候只有3个资源呢,那么可能就是,先把这个3个资源给,maptask0,maptask1,maptask2
,然后后面再有了资源以后,再把资源给其他的任务.
这个过程中其他的job就只能先等着了.
可以看到只要有job1来请求资源,这个job中包含了4个maptask2个reducetask,
那么有了资源以后,就会把资源分配给job1中对应的task.
那么在企业正式环境中会用这种fifo的,分配方式嘛?
不会的, 为什么啊
可以看到fifo调度器是堵塞的对吧,如果有job在占用资源,或者等待拿到资源,那么
其他的job只能等待对吧,那么我们在大数据环境中,有很多任务等着处理,不可能都
让他们等着排队慢慢使用效率太低了对吧.
上面就是fifo调度器
标签: #hadoop中默认的调度器是什么