hadoop yarn组件介绍

时间:2023-03-08 17:39:46

Yarn的产生

mapReduc1.0

1单点故障

2扩展效率低

3资源利用率高

降低运维成本

方便数据共享

多计算框架支持

MapReduce

Spark

Storm

Yarn的架构图

hadoop yarn组件介绍

Yarn模块介绍

ResourceManger

负责集群资源的统一管理和调度

处理客户端请求

启动/监控ApplicationMaster

监控NodeManager

资源的分配与调度

NodeManager

负责单点资源的管理和使用

处理来自ResourceManager的命令

处理来自ApplicationMaster的命令

ApplicationMaster

负责应用程序的管理

数据的切分

为应用程序申请资源。并进一步分给内部任务

任务的监控与容错

Container

任务环境的抽象

任务运行的资源

任务启动命令

任务运行环境

Yarn资源调度器

 多类型资源调度

Drf算法

Cpu和内存两种资源

  提供多种资源调度

Fifo

队列 capaity Scheduler

Fair Scheduler

多租户的资源调度器

支持资源按比例分配

支持层级队列的划分

支持资源的枪占

Yarn 资源隔离方案

内存绝定生死

Cpu决定快慢

Yarn运行流程的描述

1由client端向ResourceManager 发送请求,

2 ResourceManager启动一个Contariner(容器)用于运行ApplicationMaster

3 ApplicationMaster启动完成后会向ResourceManager建立心跳机制

4 当处理机制不够时,ApplicationMaster会向ResourceManager发送申请请求

5 当ResourceManager接收到请求后会查询可用的contariner让后发送ApplicationMaster

6 由ApplicationMaster进行初始化,AplicationMaster与对应的nodeManage通信

要求nodeManager启动Contarner aplicationMaster与nodeManger建立心跳机制

从而对nodeManager运行的任务进行监控和管理

7 contariner运行期间,ApplicationMaster对Contariner进行监控,contarner通过rpc协议

向对应的ApplicationMaseter汇报自己的状态和进度

8运行期间client 直接与ApplicationMaster通信获取状态,进度

9 结束后ApplicationMaster会向ResourceManager汇报并且注销自己,并允许所属的Contariner收回