大数据 - Hadoop - YARN

Hadoop - YARN

旧的MapReduce架构

        JobTracker: 负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错)
TaskTracker: 加载或关闭任务,定时报告认为状态
此架构会有以下问题:
        JobTracker是MapReduce的集中处理点,存在单点故障。JobTracker完成了太多的任务,造成了过多的资源消耗,当MapReduce job 非常多的时候,会造成很大的内存开销。这也是业界普遍总结出老Hadoop的MapReduce只能支持4000 节点主机的上限
        在TaskTracker端,以map/reduce task的数目作为资源表示过于简单,没有考虑到cpu/ 内存的占用情况,如果两个大内存消耗的task被调度到了一块,很容易出现OOM。
       在TaskTracker端,把资源强制划分为map task slot和reduce task slot, 如果当系统中只有map task或者只有reduce task的时候,会造成资源的浪费,也就集群资源利用的问题。总的来说就是单点问题和资源利用率问题。
在这里插入图片描述

YARN架构

在这里插入图片描述

       YARN就是将JobTracker的职责进行拆分,将资源管理和任务调度监控拆分成独立的进程:一个全局的资源管理和一个每个作业的管理(ApplicationMaster,上图的App Master) 。ResourceManager和NodeManager提供了计算资源的分配和管理,而ApplicationMaster则完成应用程序的运行
       ResourceManager 全局资源管理和任务调度
       NodeManager 单个节点的资源管理和监控
       ApplicationMaster 单个作业的资源管理和任务监控
       Container 资源申请的单位和任务运行的容器
       YARN架构下形成了一个通用的资源管理平台和一个通用的应用计算平台,避免了旧架构的单点问题和资源利用率问题,同时也让在其上运行的应用不再局限于MapReduce形式。

优缺点

       MapReduce存在的问题:
       1 Job Tracker 存在单点故障
       2 Job Tracker 完成太多任务,当MR任务非常多时,造成很大的内存开销
       3 Task Tracker 端,如果两个大内存消耗的任务一起调度,容易出现OOM,如果只有Map任务或Reduce任务时会造成资源浪费
       Hadoop2.MapReduce(MR2)与Hadoop1.MapReduce(MR1)在编程接口、数据处理引擎(Map Task、ReduceTask)是完全一样的,可以认为MR2重用了MR1的这些模块,不同的是资源管理和作业管理系统,MR1中资源管理和作业管理均是由JobTracker实现的,集两个功能于一身,而在MRv2中,将这两部分分开了,其中,作业管理由ApplicationMaster实现,资源管理由新增系统YARN完成,YARN具有通用性,因此YARN也可以作为其他计算框架的资源管理系统,不仅限于MapReduce,也是其他计算框架,比如Spark、Strom等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值