分布式资源管理与任务调度框架Yarn

在Hadoop1.x中MapReduce是Master/Slave结构.1个JobTracker带多个TaskTracker,我们称之为MRv1

JobTracker主要功能

资源管理

任务调度

T   askTracker主要功能

执行任务,响应JobTracker命令

汇报心跳

  主要问题

JobTracker单点故障,如果它挂掉,整个系统无法运转

JobTracker负载过重

仅支持MR计算框架,适合批处理、基于磁盘的计算

资源与计算没有很好的解耦设计,一个集群只能使用一个计算框架

Yarn特点

资源管理与计算框架解耦设计,一个集群资源共享给上层各个计算框架

集群内数据共享一致,数据不再需要集群间拷贝转移,达到共享互用

避免单点故障、集群资源扩展得到合理解决

Yarn的运行流程

ResourceManger(资源管理):

ResourceScheduler(资源调度)

AplicationsManger(进程管理)

NodeManger节点资源管理

ApplicationMaster 任务管理

Task  任务运行的地方

 

Client端向ResourceManger提交作业,其中包括applicationMaster程序,启动applicationMaste的命令

    ResourceManger为作业分配第一个Container,也就是分配一个容器,并与相对应的NodeManger通信,使NodeManger在这个容器中启动该作业的ApplicationMaster

    NodeManger启动一个Container运行ApplicationMaster

ApplicationMaster首先向REsourceManger注册,这样用户就可以通过ResourceManger来查询作业的运行状态,ApplicationMaster将向ResourceManger申请各个任务申请资源,并监控任务的运行状态

ApplicationMaster拿到资源后与对应的NodeManger通信,启动任务

NodeManger 接收ApplicationMaster命令,启动Contain任务

各个Container通过RPC向ApplicationMaster汇报任务状态和任务进度,所以ApplicationMaster可以在任务失败时重新启动任务

作业完成后,ApplicationMaster向ResourceMangerous申请注销关闭自己

ResourceManger 监控NodeMangerous 和ApplicationMaster

NodeManger 周期性向ResourceManger汇报资源使用情况,以及运行状态

ApplicationMaster监控任务,可以使NodeManger重启任务

一个应用程序所需的Container分为两大类,如下:

(1) 运行ApplicationMaster的Container:这是由ResourceManager(向内部的资源调度器)申请和启动的,用户提交应用程序时,可指定唯一的ApplicationMaster所需的资源;

(2) 运行各类任务的Container:这是由ApplicationMaster向ResourceManager申请的,并由ApplicationMaster与NodeManager通信以启动之。

以上两类Container可能在任意节点上,它们的位置通常而言是随机的,即ApplicationMaster可能与它管理的任务运行在一个节点上。

调度策略

     FIFO  先进先出

 Capacity Scheduler(容器调度器) 跑道一般,不许占用

Fair Scheduler(公平调度器) 允许别人占用,但当自己使用是,会使别人丢失部分数据

Yarn shell指令

查看版本信息:yarn version

使用yarn命令提交jar包:

yarn jar jarName mainClassPath -Dk1=v1 -Dk2=v2 inputPath outputPath

查看所有application列表信息:yarn application -list

杀掉指定的application,使用命令:yarn application kill app-id

查看yarn的当前资源使用情况:yarn top

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值