走进 YARN 资源管理和调度 | 青训营笔记

93 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第13天

YARN 概述

从食堂分配座位场景导入,初识调度系统;介绍调度系统发展的背景、解决的问题、目标和范型;Hadoop YARN 的设计思想和整体架构

调度系统预达目标

  • 严格的多租户间公平、容量保障
  • 调度过程的高吞吐与低延迟
  • 高可靠性与高可用性保障
  • 高可扩展的调度策略
  • 高集群整体物理利用率
  • 满足上层任务的个性化调度需求
  • 任务持续、高效、稳定运行

YARN设计思想-面临挑战

  • 公平性:各租户能够公平的拿到资源运行任务
  • 高性能:高调度吞吐、低调度延迟,保障资源快速流转
  • 高可用:集群要具备很强的容错能力
  • 大规模:单集群规模提升(原生YARN5K)
  • 高集群资源利用率
  • 高任务运行质量保障

YARN整体架构-任务运行生命周期核心流程

image.png

Resource Manager-主要职责

RM负责集群所有资源的统一管理和分配,接收各节点汇报信息并按照一定策略分配给各个任务。

  • 与客户端交互
  • 启动和管理所有AM
  • 管理所有NM
  • 资源管理与调度
    • 组织资源(资源池)
    • 组织任务(队列)
    • 接收资源清求
    • 分配资源

Node Manager 节点健康检测机制

节点健康检测机制可时刻掌握 NM 健康状况并及时汇报给RM,RM根据NM是否健康决定是 否为其调度新任务。

  • 白定义 Shell
    • NodeHealthScriptRunner 服务周期性执行节点健康状况检测脚本;
    • 若输出以“ERROR”开头则不健康;
  • 检测磁盘损坏数目
    • 判断磁盘损坏标准:若一个目录具有读、写和执行权限,则目录正常;
    • LocalDirsHandlerService 服务周期性检测 NM 本地磁盘好坏,坏盘数超过阈值则不健康;

重要机制

  • 公平性保障
    • 为什么需要Fair Share 调度策略?
    • Fair Share 调度策略原理
    • 为什么需要DRF调度策略?
    • DRF 调度策略原理
  • 高性能保障
    • 高性能对调度的重要性
    • 状态机管理
    • 事件处理模型
  • 高可用保障
    • 高可用对调度的重要性
    • RM高可用
    • NM高可用

总结

  • 核心模块
    • Resource Manager
    • Node Manager
  • 调度策略
    • Fair Share 调度策略
    • DRF调度策略
  • 公司实践
    • Gang 调度器
    • 反调度器
    • 单集群50K突破