YARN.

概述

  1. YARN(Yet Another Resource Negotiator,迄今另一个资源调度器)是Hadoop2.x中提供的一套用于进行集群的资源管理任务调度的机制
  2. 也正是因为YARN的出现,导致Hadoop2.x和Hadoop1.x不兼容。YARN是Hadoop2.x最重要的特性之一
  3. YARN的出现原因
    1. 内部原因
      1. 在Hadoop1.x中,MapReduce的主节点是JobTracker,作为主节点的JobTracker在Hadoop1.x中只允许存在1个,容易出现单点故障
      2. 在Hadoop1.x中,JobTracker给每一个从节点TaskTracker分配完子任务之后,还会监控每一个从节点的执行情况,随着TaskTracker的数量的增多,导致JobTracker的监控压力越来越大。根据官方文档给定,每一个JobTracker最多能够管理4000个TaskTracker
    2. 外部原因
      1. Hadoop作为较早的大数据框架,出现的时候,市面上几乎没有其他的大数据框架,因此Hadoop早期在设计的时候,没有考虑过其他框架的资源占用问题
      2. 随着大数据的发展,产生了越来越多的计算框架,例如Spark,Flink等,这些计算框架在设计的时候都会考虑使用Hadoop集群的资源,导致各个框架之间互相抢占资源
  4. YARN的结构:主节点ResourceManager,从节点NodeManager

Job执行流程

  1. 客户端将任务提交给ResourceManager的组件ApplicationsManager所携带的队列中,然后ResourceManager等待NodeManager的心跳

  2. 当ResourceManager收到心跳之后,就会在心跳响应中将这个Job任务返回给这个NodeManager

  3. 当NodeManager收到Job任务,会在本节点内部来开启一个ApplicationMaster进程,然后将这个Job交给这个ApplicationMaster来进行处理

  4. ApplicationMaster收到任务之后,会对这个任务来进行拆分,拆分成多个子任务。例如如果是一个MapReduce任务,就会将这个任务拆分成MapTask和ReduceTask。拆分完成之后,ApplicationMaster会给ApplicationsManager发送请求,请求获取执行资源

  5. ApplicationsManager收到请求之后,会将请求交给ResourceScheduler。ResourceScheduler收到请求之后,会将所需要的资源的描述信息封装成Container对象返回给ApplicationsManager,然后ApplicationsManager会再将资源描述信息Container对象返回给ApplicationMaster

  6. ApplicationMaster收到资源之后,会将资源进行二次分配,分配给每一个子任务。资源分配完成之后,ApplicationMaster就会将子任务分配到其他的NodeManager来执行。分配完成之后,ApplicationMaster还会监控每一个子任务的执行情况

  7. 注意问题

    1. YARN形成了层级结构:ApplicationsManager负责管理ApplicationMaster,ApplicationMaster负责管理具体的子任务
    2. 每一个Job任务对应一个单独的ApplicationMaster,保证每一个ApplicationMaster之间相互不影响
    3. 默认情况下,一份资源包含1G内存以及1个CPU核,也就意味着一个任务执行最多能占用1G内存+1个CPU核
      在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卑微前端汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值