Hadoop生态圈(五)──Yarn入门学习

前言

YARN是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操 作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。那么为什么会有yarn呢?应为早期的一版本的时候,JobTracker是集群事物的处理点,负责通信,计算资源,分配调度,与datenode进行一个通信…同时我在书写这篇博文的时候,真的是参考了各路大神的博文,感觉学习到了很多!!!也参考了Apache官网!
 
在这里插入图片描述

一、回顾Hadoop生态圈
在这里插入图片描述

  • 家族成员 YARN本质上是新一代MapRduce2.0,突破了MapReduce框架的性能瓶颈。通过YARN管理集群的资源请求,Hadoop从一个单一应用程序系统升级成为一个多应用程序的操作系统。

  • 它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。(参考意思稍后讲解)

  • Hadoop1.x版本

  • Hadoop 1.0指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中,MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。在这里插入图片描述

  • 缺点

  • 1、JobTracker 是集群事务的集中处理点,存在单点故障

    2、JobTracker 需要完成的任务太多,既要维护 job 的状态又要维护 job 的 task 的状态,造成 过多的资源消耗

    3、在 TaskTracker 端,用 Map/Reduce Task 作为资源的表示过于简单,没有考虑到 CPU、内
    存等资源情况,当把两个需要消耗大内存的 Task 调度到一起,很容易出现 OOM

    4、把资源强制划分为 Map/Reduce Slot,当只有 MapTask 时,TeduceSlot 不能用;当只有 Reduce
    Task 时,MapSlot 不能用,容易造成资源利用不足。

说白了讲:

  • 1、扩展性差

    2、可靠性低

    3、资源利用率低

    4、不支持多种计算框架

优点总结:
hadoop2.x

Hadoop 2.0指的是版本为Apache Hadoop 0.23.x、2.x或者CDH4系列的Hadoop,内核主要由HDFS、MapReduce和YARN三个系统组成,其中,YARN是一个资源管理系统,负责集群资源管理和调度,MapReduce则是运行在YARN上离线处理框架,它与Hadoop 1.0中的MapReduce在编程模型(新旧API)和数据处理引擎(MapTask和ReduceTask)两个方面是相同的。

在这里插入图片描述
1 分配和调度资源
2.任务被分散开来,JobTracker的功能被分散到各个进程中包括ResourceManager和NodeManager
3.进程可以被单独部署,减轻单点的故障
4.Yarn使用了Container,而hadoop1.x中使用了slot(槽位)。slot存在的缺点比如只能map或则reduce用。Container则不存在这个问题。这也是Yarn的进步。
5.资源分配的本质,即根据任务资源需求为其分配系统中的各类资源。在实际系统中,资源本身是多维度的,包括CPU、内存、网络I/O和磁盘I/O等,因此,如果想精确控制资源分配,不能再有slot的概念,最直接的方法是让任务直接向调度器申请自己需要的资源(比如某个任务可申请1.5GB 内存和1个CPU),而调度器则按照任务实际需求为其精细地分配对应的资源量,不再简单的将一个Slot分配给它,Hadoop 2.0正式采用了这种基于真实资源量的资源分配方案(摘要)

二、YARN 基本服务组件
YARN 总体上是 master/slave 结构,在整个资源管理框架中,ResourceManager 为 master,NodeManager 是 slave。
YARN的基本组成结构,YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等几个组件构成。

ResourceManager是Master上一个独立运行的进程,负责集群统一的资源管理、调度、分配等等;
NodeManager是Slave上一个独立运行的进程,负责上报节点的状态;
ApplicationMaster相当于这个Application的监护人和管理者,负责监控、管理这个Application的所有Attempt在cluster中各个节点上的具体运行,同时负责向Yarn ResourceManager申请资源、返还资源等;
Container是yarn中分配资源的一个单位,包涵内存、CPU等等资源,YARN以Container为单位分配资源;

三.新版本简介
在这里插入图片描述


参考博文:https://www.cnblogs.com/hanzhi/articles/8969109.html
参考简书:https://www.jianshu.com/p/f50e85bdb9ce
参考简书:https://www.jianshu.com/p/883a4f459bed
参考博文:https://www.cnblogs.com/xd502djj/p/4433020.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值