| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hadoop系列之YARN -> 正文阅读 |
|
[大数据]Hadoop系列之YARN |
Yarn
是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式
的
操作系统平台
,而
MapReduce
等运算程序则相当于运行于
操作系统之上的应用程序
。
Yarn
基础架构
YARN
主要由
ResourceManager
、
NodeManager
、
ApplicationMaster
和
Container
等组件
构成。
![]() Yarn 工作机制?
?作业提交全过程 作业提交全过程详解? ?
Yarn 调度器和调度算法
Hadoop
作业调度器主要有三种:
FIFO
、容量(
Capacity Scheduler
)和公平(
Fair
Scheduler
),这个建议大家去看看操作系统,很详细。
先进先出调度器(FIFO)
FIFO
调度器(
First In First Out
):单队列,根据提交作业的先后顺序,先来先服务。
优点:简单易懂;
缺点:不支持多队列,生产环境很少使用;
容量调度器(Capacity Scheduler)
1
、多队列:每个队列可配置一定的资源量,每个队列采用
FIFO
调度策略。
2
、容量保证:管理员可为每个队列设置资源最低保证和资源使用上限
3
、灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用 程序提交,则其他队列借调的资源会归还给该队列。
4
、多租户:
? ? ? ? 支持多用户共享集群和多应用程序同时运行。
? ? ? ? 为了防止同一个用户的作业独占队列中的资源,该调度器会对
同一用户提交的作业所占资源量进行限定。
? 公平调度器(Fair Scheduler) ?
1
)与容量调度器相同点
(
1
)多队列:支持多队列多作业
(
2
)容量保证:管理员可为每个队列设置资源最低保证和资源使用上线
(
3
)灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用程序提
交,则其他队列借调的资源会归还给该队列。
(
4
)多租户:支持多用户共享集群和多应用程序同时运行;为了防止同一个用户的作业独占队列中的资源,该调度器 会对同一用户提交的作业所占资源量进行限定。
2
)与容量调度器不同点
(
1
)核心调度策略不同
容量调度器:优先选择
资源利用率低
的队列
公平调度器:优先选择对资源的
缺额
比例大的
(
2
)每个队列可以单独设置资源分配方式
容量调度器:
FIFO
、
DRF
公平调度器:
FIFO
、
FAIR
、
DRF
缺额
公平调度器设计目标是:在时间尺度上,所有作业获得公平的资源。某一
时刻一个作业应获资源和实际获取资源的差距叫
“缺额”
调度器会
优先为缺额大的作业分配资源
?公平调度器队列资源分配方式
Fair
策略(操作系统有详细的介绍)
![]() ? 公平调度器资源分配算法
公平调度器队列资源分配方式
DRF
(
Dominant Resource Fairness
),我们之前说的资源,都是单一标准,例如只考虑内存(也是
Yarn
默 认的情况)。但是很多时候我们资源有很多种,例如内存,CPU
,网络带宽等,这样我们很难衡量两个应用 应该分配的资源比例。
那么在
YARN
中,我们用
DRF
来决定如何调度:
假设集群一共有100 CPU
和
10T
内存,而应用
A
需要(
2 CPU, 300GB
),应用
B
需要(
6 CPU
,
100GB
)。 则两个应用分别需要A
(
2%CPU, 3%
内存)和
B
(
6%CPU, 1%
内存)的资源,这就意味着
A
是内存主导的
, B
是CPU主导的,针对这种情况,我们可以选择
DRF
策略对不同应用进行不同资源(
CPU
和内存)的一个不同比 例的限制
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/23 3:41:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |