看看你所理解的资源调度框架Yarn

&YARN产生背景
MapReduce1.x存在的问题
MapReduce架构图:
在这里插入图片描述
1.master/slave架构:JobTracker/TaskTracker
JobTracker:单点,仅仅只能够支持MapReduce作业
2,资源利用率,所有的计算框架运行在一个集群中,共享一个集群的资源,按需分配

YARN概述
&Yet Another Resource Negotiator
&通用的资源管理系统
&为上层应用提供统一的资源管理和调度
在这里插入图片描述
在这里插入图片描述
YARN环境搭建:
在这里插入图片描述
提交自己开发的MR作业到YARN上运行的步骤:
1)mvn clean package -DskipTests
windows/Mac/Linux ==> Maven
2)把编译出来的jar包(项目根目录/target/…jar)以及测试数据上传到服务器
scp xxxx hadoop@hostname:directory
3) 把数据上传到HDFS
hadoop fs -put xxx hdfspath
4) 执行作业
hadoop jar xxx.jar 完整的类名(包名+类名) args…
5) 到YARN UI(8088) 上去观察作业的运行情况
6)到输出目录去查看对应的输出结果

YARN结构官网介绍(YARN执行流程):
在这里插入图片描述

ResourceManager和NodeManager构成了数据计算框架。ResourceManager是在系统中的所有应用程序之间仲裁资源的最终权限。NodeManager是每台机器框架代理,负责容器,监视其资源使用情况(CPU,内存,磁盘,网络)并将其报告给ResourceManager / Scheduler。

每个应用程序ApplicationMaster实际上是一个特定于框架的库,其任务是协调来自ResourceManager的资源,并与NodeManager一起执行和监视任务。

resource management 资源管理。ResourceManager (RM)
job scheduling/monitoring 作业的调度/监控 per-application ApplicationMaster (AM)
DAG of jobs:相互依赖的作业 比如完成a再完成b
YARN架构
client.ResourceManager.NodeManager.ApplicationMaster
master/slave:RM/NM

详解:

一.Client: 向RM提交任务、杀死任务等
二.ApplicationMaster:
1.每个应用程序对应一个AM
2.AM向RM申请资源用于在NM上启动对应的Task
3.数据切分
4.为每个task向RM申请资源(container)
5.NodeManager通信
6.任务的监控

三.NodeManager: 多个
1.干活
2.向RM发送心跳信息、任务的执行情况
3接收来自RM的请求来启动任务
4.处理来自AM的命令

四.ResourceManager:集群中同一时刻对外提供服务的只有1个,负责资源相关
1.处理来自客户端的请求:提交、杀死
2.启动/监控AM
3.监控NM
4.资源相关问题处理

五.container:任务的运行抽象
memory、cpu…
task是运行在container里面的
可以运行am、也可以运行map/reduce task

YARN执行流程详解:
在这里插入图片描述

1.客户端提交job到yarn上面去,使用resource manager进行交互
2.resource manager为此job分配第一个container,则resource manager与node manager通信
3.则node manager启动Applications master
4.Applications master启动之后首先是要注册到resource manager上并申请资源 ,因为resource manager是负责全局的资源管理,而Applications master是对应于每一个应用程序的,则客户端可以与resource manager通信通过Applications master了解job的情况
5.Applications master与其他node manager进行通信,并分配资源container
6.启动task
手绘图详解:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值