Hadoop版本:3.1.3
1、三种常见调度器
1.1、先进先出调度器
1.2、容量调度器
1.3、公平调度器
2、容量调度器 多队列配置
3、单词
4、默认配置【capacity-scheduler.xml】
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、编辑配置文件
1 | vim $HADOOP_HOME/etc/hadoop/capacity-scheduler.xml |
2、修改根队列下面的叶队列名称,逗号分隔(此处新增队列名称为hive
)
1 | <property> |
3、修改 名为default的队列 的容量占比
1 | <property> |
4、给新队列配置
1 | <property> |
5、分发配置
1 | rsync.py $HADOOP_HOME/etc/hadoop/capacity-scheduler.xml |
6、查看浏览器,端口8088
7、提交到指定队列
- Java代码的
org.apache.hadoop.conf.Configuration
1 | configuration.set("mapred.job.queuename", "hive"); |
- HIVE
1 | set mapred.job.queue.name=hive |
3、单词
4、默认配置【capacity-scheduler.xml】
1 | <!-- 容量调度器中 挂起和运行的应用程序 的 最大数量 --> |
知识源于积累,登峰造极源于自律!
好文章就得收藏慢慢品, 文章转载于: https://blog.csdn.net/Yellow_python/article/details/116021592
- 本文作者: xubatian
- 本文链接: http://xubatian.cn/Hadoop数据压缩/YARN调度器【capacity-scheduler-xml】默认配置/
- 版权声明: 本博客所有文章除特别声明外均为原创,采用 CC BY 4.0 CN协议 许可协议。转载请注明出处:https://www.xubatian.cn/
v1.5.2