学习 YARN(一):概览

YARN 是 Yet Another Resource Negotiator 的缩写,是 Hadoop 2.X 为解决 Hadoop 1.X 扩展性差、资源利用率低、无法支持多种计算框架而引入的资源管理系统。

YARN 的思想是资源池化,负责整个集群的资源(CPU、内存、磁盘、网络等)的管理。

架构

HDFS 是一个主从(Master/Slave)架构的分布式系统,由主节点 ResourceManager 和从节点 NodeManager 构成。

YARN Architechture

ResourceManager

ResourceManager 是集群的主节点,负责集群资源的管理和分配。ResourceManager 主要由两个组件构成:

  • Scheduler 调度器
  • Applications Manager ASM 应用管理器

调度器是系统为应用分配资源的策略。YARN 支持多种调度器,包括 FIFO Scheduler、Capacity Scheduler 和 Fair Scheduler。

应用管理器负责应用生命周期的管理。

NodeManager

NodeManager 是集群的从节点,是集群中单个节点的代理,职责包括:与 RM 保持通信、管理 Container 生命周期、监控 Container 资源使用情况、追踪节点健康情况、管理日志和应用程序的附属服务(Auxiliary Service)。

Container

Container 是 YARN 中的基本资源分配单位,是对应用程序程序运行环境的抽象,并为应用程序提供资源隔离环境。