20200602——浅谈hadoop中的yarn

yarn前世今生

在Hadoop1.0没有yarn 只有hdfs和mapreduce

在2.0的时候才有yarn的诞生

首先在Hadoop中,存在最大的问题就是资源管理问题

随着技术的发展,人们已经不再满足Hadoop集群中只使用map reduce一个计算框架
人们更希望有一套合理的管理机制,来控制整个集群资源管理

启动hadoop中的命令

./start-yarn.sh
jps之后
ResourceManager 是全局资源管理器 RM
NodeManager 是节点资源任务管理器 NM
我们可以理解成 RM 和 NM 就是yarn

yarn的基本架构

yarn在总体的基本设想上和HDFS大体上差不多的
都是主从关系(master/slave)
在hdfs中namenode是主节点 datanode是从节点
在yarn中rm是主节点 nm是从节点

rm的组成部分

rm里面还有两个组成部分
在这里插入图片描述

调度器

scheduler

调度器简单来说,为我们将每一个节点都充分利用起来
并且合理的分配和管理的调度器
值得注意的是,调度器是一个存调度器,不负责从事具体的和应用程序相关的工作,比如运行map任务,监控程序都不是他的活,他只负责分配资源

调度器分为三种

1.容量调度器
2.公平调度器
3.队列调度器

应用程序管理器 am

applicationmanager 主要是负责接受client端传输的请求,为应用分配第一个container(资源池)
来运行我们第一个 applicationmaster,还有用来监控我们的applicationmaster,并且在失败的时候重启 application master

applicaiton master

当我们正常提交一个mapreduce的任务的时候,我们在后台查看进程的时候,会多了一个Mr application的进程:application master
负责监控map任务会reduce任务的,用户提交的每一个程序(mapreduce) 都会产生一个am,这个am就是负责整个任务的一个管理者

application master 主要功能

与RM调度器RS协商获取执行资源
要与NM通信 启动任务和停止任务 其中设计到了一个东西,资源池
监控所有旗下的任务的执行状态 map,reduce 如果失败,则会重新启动任务来申请资源

Cotanier

是yarn的资源抽象,封装了某个节点的多维度资源,如:内存和cpu
相当于
资源池主要是将节点的资源切分出来组成一个单独运行任务的容器,用来运行任务,这里的任务就是我们的map任务,或者是reduce任务

整个提交mapreduce的全部过程

在这里插入图片描述

1)提交文件,申请job id ,唯一id client向rm申请
2)rm返回一个作业id,并且将路径发送给客户端
3) client将作业所需要的资源(jar包,配置文件和分片信息)向指定hdfs路径上传
4)上传成功后,向rm发送请求,提交作业
5)appmanager向调度器转发请求
6)调度器将任务放置队列中,当执行到请求的时候,则开始am分配容器,调用节点资源管理器开辟资源池,启动am
7) appmanager 命令节点管理开辟容器container(资源池)启动appmaster
8)am开始接受hdfs的共享文件,然后根据切片信息,创建map任务和reduce任务
9)appmaster 向调度器请求资源,开辟map和reduce任务
10)调度器返回执行信息给appmaster
11)appmaster通知nodemanager,启动任务
12)nm开始启动任务
13)map和reduce任务接受共享文件数据
14)程序完成之后,发送请求释放资源
15)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值