- FIFO
先进先出,把应用按提交顺序排成一个先进先出队列,在进行资源分配的时候,先给队列中第一个应用进行资源分配,当它需求满足后,再给下一个分配;
可以在yarn-site.xml文件中设置
适用于独享集群,不适用于共享集群,大的应用会导致其他应用被阻塞,大任务提交之后会占用所有资源,后续提交的任务则无资源可用
2.Capacity(默认)
允许创建多队列,每个队列内部,资源的调度是采用FIFO策略,各个队列上提交的job可以同时运行,如果某个队列的资源无法满足本队列job需求,可以抢占其他队列资源(弹性队列),为避免其他队列无资源可用,可以通过设置该队列最大资源量限制抢占;会有一个专门的队列来运行小任务,会预先占用一定的集群资源
先在yarn-site.xml中配置,然后在etc/hadoop/capacity-scheduler.xml中进行多队列的配置
缺点:刚开始来的大任务跑的比FIFO慢
3.公平调度器
不需要预先占用资源,Fair调度器会为了所有运行的job动态调整系统资源,当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源,当第二个小任务提交后,调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源
- 开发中一般不用这个调度器,因为分配资源给其他任务时会比较慢,其他任务需要等待上个任务释放资源