hadoop学习 的yarn

Yarn的产生

mapReduc1.0

 

1单点故障

2扩展效率低

3资源利用率高

降低运维成本

方便数据共享

多计算框架支持

MapReduce

Spark

Storm

 

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收回

posted @ 2019-05-11 09:17  左手编程右手诗  阅读(254)  评论(0编辑  收藏  举报