这是我参与「第四届青训营 」笔记创作活动的的第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数据库加载数据;