YARN基本架构原理详解

一、概念理解

Apache Hadoop YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来的巨大的好处。

YARN产生背景:
a)JobTracker单点故障
b)JobTracker承受的访问压力大,影响系统的扩展性
c)不支持MapReduce之外的计算框架,比如storm、spark、flink

YARN的优势:
资源的统一管理和调度:

  • 集群中所有节点的资源(内存、CPU、磁盘、网络等)抽象为Container。计算框架需要资源进行运算任务时需要向YARN申请Container, YARN按照特定的策略对资源进行调度进行Container的分配。

资源隔离:

  • YARN使用了轻量级资源隔离机制Cgroups进行资源隔离以避免相互干扰,一旦Container使用的资源量超过事先定义的上限值,就将其杀死。

二、YARN的架构

在这里插入图片描述
从YARN的架构来看,它由ResourceManager、NodeManager、JobHistoryServer、Containers、Application Master、job、Task、Client组成。

组件的主要功能介绍:
(1)ResourceManager:

  • 处理客户端请求
  • 启动/监控ApplicationMaster
  • 监控NodeManager
  • 资源分配与调度

(2)ApplicationMaster:

  • 为应用程序申请资源,并分配给内部任务
  • 任务调度、监控与容错

(3)NodeManager:

  • 单个节点上的资源管理
  • 处理来自ResourceManger的命令
  • 处理来自ApplicationMaster的命令

(4)Container:

  • 对资源抽象和封装,目的是为了让每个应用程序对应的任务完成执行

(5)JobHistoryServer:

  • 负责查询job运行进度及元数据管理。

(6)job:

  • 是需要执行的一个工作单元:它包括输入数据、MapReduce程序和配置信息。job也可以叫作Application。

(7)task:

  • 一个具体做Mapper或Reducer的独立的工作单元。task运行在NodeManager的Container中。

(8)Client:

  • 一个提交给ResourceManager的一个Application程序。

(1)ResourceManager

ResourceManager(RM)是一个全局的资源管理器,负责整个系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<一蓑烟雨任平生>

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值