yarn入门学习介绍

YARN(Yet Another Resource Negotiator)是为解决Hadoop 1.0中JobTracker单点故障和效率问题而引入的。它将作业管理和资源调度分离,由Resource Manager负责资源调度,Node Manager管理节点上的应用程序。YARN支持FIFO、容量和公平调度器,其中后两者在效率上更优。目前,大多数计算框架都能在YARN上运行。
摘要由CSDN通过智能技术生成
本篇将从以下几个方面阐述yarn
  • 1、产生的原因
  • 2、简介
  • 3、适用情况
1、产生的原因

yarn的出现是由于hadoop1.0版本中的 jobtracker负载过重,导致计算上限极小,无法满足大量数据工作的需求。


首先来看一看hadoop1.0的架构图,以便整体了解
5c3fdc302d2dc
此时MapReduce计算模型是直接运行在hdfs上的,因此造成了以下的问题。


看一看hadoop1.0中的MapReduce架构图
5c3fd8f216123
在当前版本中,jobtracker既要负责作业的分发、监控,还要负责资源的的调度,因此会存在极其严重的单点故障,而且作业的运行上限十分低,在此极限下很难完成极其大数据的操作。


在hadoop2.0中的架构图是这样的
5c3fdc4779705
此时将所有的计算模型放到了yarn之上


再来看看当前hadoop2.0版本下yarn的架构图。

5c3fd88f019f7
在hadoop2.0中,增加了yarn将作业管理和资源调度分离开,资源调度统一由Resource Manager管理,而作业的管控则交给了结点上的Node Manager,这样实现了资源管理和作业管理的分离,增加了效率,可操作数据上限大幅上升。

2、简介
  • 运行机制

看一下yarn的运行时图
5c3fe7fe38096
可以看成是这样的
5c3fea59e3b2e

  • yarn情况

yarn的核心服务由两类长期运行的进程提供:管理资源Resource Manager和运行在集群所有节点上的启动和监控容器的Node Managere,容器是用于执行特定的应用的程序的进程,每个容器有资源限制,详细可以配置(如内存、CPU等)。

  • yarn运行

客户端向资源管理器发送一个请求,要求其运行一个application master,资源管理器(Resource Manager)便在集群容器中找到一个能运行application Master的节点管理器,application master启动后将要做什么由其自己决定,可向资源管理器请求更多的容器或在所处的容器中进行一个简单的计算并将结果返回给客户端(而各个进程或节点间的通信是由hadoop RPC提供的,yarn本身不提供通信机制,但是yarn有API,可一般不调用,基本用更高级的如MapReduce的API)。

  • yarn资源请求

yarn的资源请求遵从优先最近原则,既本节点为首要选择,其次为本机架,如再不满足可取本集群任意节点。yarn的资源请求可在任意时刻提出,既动态申请。理想情况下,yarn的资源申请应立即给予满足,但由于现实情况下资源有限所以一个应用请求资源经常需要进行等待,这就涉及到yarn的资源调度方式,调度方式的区别决定了资源请求的速度。

  • 资源调度

资源调度的方式通常有三种:FIFO调度器,容器调度器、公平调度器,以下分别是三种的调度图。
5c402d6f390e3

5c402d47e1231


  • FIFO调度器,既先来先出。既A、B两个作业,A先到,则A占用所有资源当B来时等待直至A完成调度,B方可使用。
  • 容量调度器,既可以提前限定当前队列所使用的资源占比。如有两个队列,A作业位于队列1,2队列有两个作业B、C,队列1占比25%,队列2占比75%,则整个过程中A作业不会因为作业过大关系调用队列2资源,B、C也同理。
  • 公平调度器,A、B两个用户,当A用户资源先到时B用户没有需求则A占用整个资源,B来到后逐渐占用一半资源,如当接下来B用户有第二个作业而其他作业仍在工作,则第二个作业随即占用B用户一半资源既整个集群资源的1/4,实现资源在用户之间共享。
通常使用后两者,效率较高。
3、适用情况

当前基本上所有的计算框架都可运行在yarn上。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值