Yarn公平调度器(Fair Scheduler)切换容量调度器(Capacity Scheduler)

一、调度器简介

Fair Scheduler称为公平调度器,是Apache YARN内置的调度器。公平调度器主要目标是实现YARN上运行的应用能公平的分配到资源,其中各个队列使用的资源根据设置的权重(weight)来实现资源的公平分配。
Capacity Scheduler称为容量调度器,是Apache YARN内置的调度器,建议YARN使用Capacity Scheduler作为默认调度器。Capacity Scheduler是一种多租户、分层级的资源调度器,调度器中的子队列是通过设置Capacity来划分各个子队列的使用情况。

两种调度器区别:

分配方式:

(1)公平调度是以pool为单位分配任务slots的

(2)容量调度以queue的方式分配tasktracker的

资源利用方式:

(1)公平调度每个pool内部可以是以FIFO方式调度也可以是公平方式调度

(2)容量调度每个queue内部只能是以FIFO方式调度,这是公平调度和容量调度的一个区别

是否支持抢占:

(1)公平调度pool内部是支持抢占的,就是可以为某个pool(通常是生产上的用户)分配最低的任务slot,当这个pool得不到最低的资源的时候他就会kill其他的job的task以使自己获得最低的资源,这并不会引起其他的job的失败,因为job也是master-slaver的结构,也是容错的。

(2)容量调度queue内部可以设置优先级但是并不支持抢占

二、腾讯云公平调度器切换为容量调度器

因yarn上有任务运行,需要先为任务提前指定运行队列。

1、现有任务指定队列

hive:set mapred.job.queue.name=队列名;

spark-submit:--queue 队列名

hadoop -jar 方式:类后面加-Dmapreduce.job.queuename=队列名 

三、容量调度器资源配置

 

 

 

 

五、切容量调度后yarn监控使用量异常

memory used使用内存异常

操作步骤

mkdir ~/hadoopjarbakdir
mv /usr/local/service/hadoop/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-2.8.5.jar ~/hadoopjarbakdir/hadoop-yarn-server-resourcemanager-2.8.5.jar
cp hadoop-yarn-server-resourcemanager-2.8.5.jar /usr/local/service/hadoop/share/hadoop/yarn/

重启rm服务

 

posted @ 2022-09-14 20:12  黑水滴  阅读(763)  评论(0编辑  收藏  举报