Yarn 详解

YARN(Yet Another Resource Negotiator)是Hadoop的资源管理组件,解决了Hadoop 1.x中JobTracker的单点故障和扩展性问题。YARN采用Master/Slave架构,由ResourceManager、NodeManager、ApplicationMaster和Container组成。ResourceManager负责全局资源调度,NodeManager管理节点资源,ApplicationMaster管理应用程序,Container是资源分配的基本单位。YARN的工作流程包括应用程序提交、资源申请、任务执行和监控等步骤。YARN支持多种调度器,如FIFO、Capacity Scheduler和Fair Scheduler,以满足不同的资源分配策略。资源管理方面,YARN允许配置内存和CPU资源的调度和隔离参数。
摘要由CSDN通过智能技术生成

       Yarn(Yet Another Resource  Negotiator 另一种资源协商者)它作为 Hadoop 的一个组件,负责整个集群资源的管理和调度。 在 Hadoop2.0 的第一个版本 2.0.0-alpha,Yarn 作为一个正式组件加入。

       在hadoop 1.x时,JobTracker存在单点故障、节点压力大不容易扩展、不能够支持多种计算框架。Yarn 是 Hadoop 基于这些问题的一个解决方案。

 

Yarn基本架构

       Yarn 采用 Master/Slave 结构,整体采用双层调度架构。在第一层的调度是 ResourceManager 和 NodeManager:ResourceManager 是 Master 节点,包含 Scheduler 和App Manager 两个组件;NodeManager 是 Slave 节点,可以部署在独立的机器上,用于管理机器上的资源。

       第二层的调度指的是 NodeManager 和 Container。NodeManager 会将 Cpu&内存等资源抽象成一个个的 Container,并管理它们的生命周期。

       注:job= app = application = 作业 = 应用程序

1)ResourceManager: RM

      1、资源的统一管理和调度。

      2、监控NM

      3、处理客户端的请求。

      4、将AM分配空闲的Container运行并监控其运行状态。

      主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager)。

      调度器:Scheduler

            负责资源调度。调度器根据应用程序的资源要求,以及集群机器的资源情况,为应用程序 分配封装在Container中的资源。

      应用程序管理器:Applications Manager

            负责作业管理。包括作业提交、与调度器协商资源以启动AM、监控AM运行状态并在失败时重新启动等,跟踪作业分给的Container的进度、状态。

2) NodeManager: NM

        1、负责自己本身节点资源管理和使用

        2、定时向RM汇报本节点的资源使用情况 和 各个Container的运行状态

        3、同时会接收并处理来自AM的Container 启动/停止等请求

3) Application Master:  AM

        1、每个用户提交的应用程序均对应一个AM,负责应用的监控,跟踪应用执行状态,重启失败任务等。

        2、为应用程序向RM协调资源,且与NodeManager协同工作完成Ta

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值