这是我参与「第四届青训营 」笔记创作活动的的第11天。本篇笔记对于8.11日邵凯阳老师讲授的《走进 Yarn 资源管理和调度》的内容做一个复习总结。
YARN 概述
- 优化的分配模型(餐厅案例):
- 公平性:学院间可以分配满足率更低者先分配,学院内先来先
- 高效性:配备助手(负责不同功能)、用餐小组负责人
- 高可用:备用经理
- 尽可能多:可以超发座位数
- 调度系统解决的问题:
- 用有限的资源解决其无法满足的需求时
- 调度系统主要解决组员请求和可用资源间的映射问题
- 调度系统预期达到的目标:
- 公平、容量保障
- 调度的高吞吐低延迟
- 高可靠和高可用
- 高物理利用率和高可拓展
- 个性化需求
- 任务持续、高效、稳定运行
- 调度系统泛型:
- 集中式:融合了资源管理调度和任务控制
- 两层式:资源管理调度和任务控制解耦
- 共享状态式:多个调度器基于乐观并发共享全局资源视图(需要保障节点只有一个任务执行)
- 分布式:多个调度器基于先验知识进行最快调度决策(有点贪心的感觉)
- 混合式:多种类型调度器共存,共同分配
- YARN 演化背景:
- Hadoop 1.0: MapReduce 和 HDFS 两部分
- 可拓展性
- 可靠性差
- 资源利用率低
- 无法支持多种计算框架
- Hadoop 2.0: 抽象出了 YARN 这一层
- 资源管理和任务控制解耦
- YARN 支持多种计算框架的统一资源管理平台
- Hadoop 1.0: MapReduce 和 HDFS 两部分
- YARN 整体架构: 注意整体生态,用户到计算引擎到 YARN 到 RM 和 NM;ZooKeeper 做选主操作,重要的元数据信息存储 ZK ,保证切主后恢复;任务由 HDFS / Kafka 提供一些数据
- Resource Manager:只有一个工作
- 资源管理调度
- 任务生命周期管理
- 对外交互
- Node Manager:
- 提供集群资源
- 管理 Container 运行
- Resource Manager:只有一个工作
核心模块
待补充