Yarn资源管理与调度|青训营笔记
这是我参与「第四届青训营 」笔记创作活动的第4天。
一、Yarn挑战
YARN 面临的挑战
-
- 公平性:各租户能够公平的拿到资源运行任务
-
- 高性能:高调度吞吐、低调度延迟,保障资源快速流转
-
- 高可用:集群要具备很强的容错能力
-
- 单集群规模提升:原生 YARN 单集群仅支持 5K
-
- 高集群资源利用率
-
- 高任务运行质量保障
二、YARN核心模块
- 架构图
Resource Manager
- 整个集群的大脑,负责为应用调度资源,管理应用生命周期;
- 对用户提供接口,包括命令行接口,API, WebUI 接口;
- 可以同时存在多个RM、,同一时间只有一个在工作,RM 之间通过 ZK 选主;
Node Manager
- 为整个集群提供资源, 接受 Container 运行;
- 管理Contianer的运行时生命周期, 包括Localization, 资源隔离, 日志聚合等;
三、YARN重要调度策略
-
公平性保障
-
Fair Share 调度策略
-
队列配置 minShare 和 maxShare,当队列空闲时按照一定策略将资源分配给其他活跃队列;
-
保障公平的前提下实现队列间资源共享,提高资源利用率,缓解繁忙队列压力;
-
两种类型 Steady Fair Share、Instantaneous Fair Share。
-
-
DRF 调度策略
-
在保证公平性的前提下进行资源降维,以达到更好的分配效果;
-
DRF 是最大最小公平算法在多维资源上的具体实现;
-
旨在使不同用户的“主分享量”最大化的保持公平;
-
最大最小公平算法:最大化最小资源需求的满足度
-
资源按照需求递增的顺序进行分配;
-
用户获取的资源不超过自身需求;
-
对未满足的用户,等价分享剩余资源;
-
-
-