YARN重要机制|青训营笔记

94 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第9天 今天我学习了YARN资源管理与调度的相关知识。

03.重要机制


公平性保障

◆为什么需要Fair Share调度策略?
◆Fair Share调度策略原理
◆为什么需要DRF调度策略?
◆DRF调度策略原理

高可用保障

◆高性能对调度的重要性
◆高可用对调度的重要性
◆状态机管理

高可用保障

◆高可用对调度的重要性
◆RM高可用
◆NM高可用

3.1调度策略- Fair Share调度策略背景


为什么需要Fair Share调度策陷?

实现队列间资源共享,提高资源利用率:缓解繁忙队列压力;

什么是Fair Share调度策略?

队列空闲时按照一定策略将资源分配给其他活跃队列;Fair Share类型

Steady Fair Share

Instantaneous Fair Share

3.1调度策略- Instantaneous Fair Share计算逻辑


➢计算Total Resource

➢初始化R上限RMax

1.获取所有non-fixed Schedulable的maxShare

2.初始化R为1,每次翻倍

3.直到所有Schedulable分完所有资源

➢通过二分法寻找R [0,RMax]

1. mid = (left + right)/ 2.0
2.若plannedResourceUsed == totalResource, right = mid;
3.若plannedResourceUsed < totalResource, left = mid;
4.若plannedResourceUsed > totalResource, right = mid;

➢计算Fair Share

1.若S.minShare > right * S.weight, Fair Share = S.minShare;
2.若S.maxShare < right * S.weight, Fair Share = S.maxShare;
3.其他情况Fair Share = right * S.weight

3.3容错机制--高可用性


➢RM高可用

1.热备方案: Active Master提供服务、Standby Master作为备节点;

2.基于共享存储的HA解决方案:关键信息写入共享存储系统(ZK) ;

3.两种切换模式:

手动模式: "yarn rmadmin"命令手动操作;

自动模式: ZK的ActiveStandbyElector 进行选主操作,ZK中有一个锁节点,所有RM竞争写-个

子节点,ZK 保证最终只有一个RM能够创建成功,创建成功的为Active Master;

4. Client、 AM、 NM自动重试:切主时各组件采用round-robin方式尝试连接RM;

➢NM高可用

➢关键信息存储至leveldb数据库;

➢重启时从yarn-nm-recovery下的leveldb数据库加载数据;