Hadoop版本:3.1.3
1、三种常见调度器
1.1、先进先出调度器
- first-in first-out scheduler
- FIFO Scheduler
- 后入队的任务 要等待 前入队的任务 出队
-
可配置:
-
1、每个用户的最大资源占比,防止单个用户把资源占满
2、限制哪些用户可以提交应用到本队列
1.2、容量调度器
- Capacity Scheduler
- 相当于 多个 FIFO Scheduler
- 不同队列上的任务可以并行(比如 3个队列就可以并行3个任务)
- 相同队列上的任务不能并行
-
可配置:
-
1、默认容量占比:各个队列占据一定百分比的资源
(如:a队列40% b队列60%)
2、最大容量占比:队列占据的资源百分比的最大值
(如:a队列最大70%,当超出40%时,可以借b队列的空闲资源,最多借30%)
划分方式:
按业务划分(更常用):下单、支付、物流…
按技术划分:HIVE、Spark、Flink…
1.3、公平调度器
- Fair Scheduler
- 和Capacity Scheduler类似,可以多队列配置;不同的是,叶子队列不是FIFO的
- 在同一条叶子队列上,所有作业可以并发;
资源分配的依据:时间尺度、优先级、资源缺额…
在时间尺度上获得公平的资源
最大最小公平分配算法
2、容量调度器 多队列配置
1、编辑配置文件
vim $HADOOP_HOME/etc/hadoop/capacity-scheduler.xml
2、修改根队列下面的叶队列名称,逗号分隔(此处新增队列名称为hive)
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>default,hive</value>
<description>在根队列下设置叶队列名称</description>
</property>
3、修改 名为default的队列 的容量占比
<property>
<name>yarn.scheduler.capacity.root.default.capacity</name>
<value>40</value>
<description>设置root下名为default队列的容量占比</description>
</property>
4、给新队列配置
<property>
<name>yarn.scheduler.capacity.root.hive.capacity</name>
<value>60</value>
<description>root下名为hive的队列 的 容量占比</description>
</property>
<property>
<name>yarn.scheduler.capacity.root.hive.user-limit-factor</name>
<value>1</value>
<description>每个用户可以占据该队列资源占比的上限(防止某用户把资源占满)</description>
</property>
<property>
<name>yarn.scheduler.capacity.root.hive.maximum-capacity</name>
<value>80</value>
<description>该队列的最大容量占比(可外借80-60=20)</description>
</property>
<property>
<name>yarn.scheduler.capacity.root.hive.state</name>
<value>RUNNING</value>
<description>该队列状态(RUNNING或STOPPED)</description>
</property>
<property>
<name>yarn.scheduler.capacity.root.hive.acl_submit_applications</name>
<value>*</value>
<description>访问控制列表:限定哪些用户 能访问该队列</description>
</property>
<property<



最低0.47元/天 解锁文章
1692

被折叠的 条评论
为什么被折叠?



