Yarn 资源管理和调度| 青训营笔记

186 阅读2分钟

  这是我参与「第四届青训营 」笔记创作活动的的第11天。本篇笔记对于8.11日邵凯阳老师讲授的《走进 Yarn 资源管理和调度》的内容做一个复习总结。


YARN 概述
  • 优化的分配模型(餐厅案例):
    • 公平性:学院间可以分配满足率更低者先分配,学院内先来先
    • 高效性:配备助手(负责不同功能)、用餐小组负责人
    • 高可用:备用经理
    • 尽可能多:可以超发座位数
  • 调度系统解决的问题:
    • 有限的资源解决其无法满足的需求
    • 调度系统主要解决组员请求和可用资源间的映射问题
  • 调度系统预期达到的目标:
    • 公平、容量保障
    • 调度的高吞吐低延迟
    • 高可靠和高可用
    • 高物理利用率和高可拓展
    • 个性化需求
    • 任务持续、高效、稳定运行
  • 调度系统泛型:
    • 集中式:融合了资源管理调度和任务控制
    • 两层式:资源管理调度和任务控制解耦
    • 共享状态式:多个调度器基于乐观并发共享全局资源视图(需要保障节点只有一个任务执行)
    • 分布式:多个调度器基于先验知识进行最快调度决策(有点贪心的感觉)
    • 混合式:多种类型调度器共存,共同分配

  • YARN 演化背景:
    • Hadoop 1.0: MapReduce 和 HDFS 两部分
      • 可拓展性
      • 可靠性差
      • 资源利用率低
      • 无法支持多种计算框架
    • Hadoop 2.0: 抽象出了 YARN 这一层
      • 资源管理和任务控制解耦
      • YARN 支持多种计算框架的统一资源管理平台
  • YARN 整体架构: 注意整体生态,用户到计算引擎到 YARN 到 RM 和 NM;ZooKeeper 做选主操作,重要的元数据信息存储 ZK ,保证切主后恢复;任务由 HDFS / Kafka 提供一些数据
    • Resource Manager:只有一个工作
      • 资源管理调度
      • 任务生命周期管理
      • 对外交互
    • Node Manager:
      • 提供集群资源
      • 管理 Container 运行 image.png

核心模块

待补充


重要机制

实践应用