MapReduce1.x与MapReduce2.x差异

一.MapReduce1.x简介

  1.图解

    

  2.JobTracker

    主节点,单点,负责调度所有的作用和监控整个集群的资源负载。

  3.TaskTracker

    从节点,自身节点资源管理和JobTracker进行心跳联系,汇报资源和获取task。

  4.Client

    以作业为单位,规划作业计算分布,提交作业资源到HDFS,最终提交作业到JobTracker。

二.MapReduce1.x的弊端

  1.JobTracker负载过重,存在单点故障。

  2.资源管理和计算调度强耦合,其它计算框架难以复用其资源管理。

  3.不同框架对资源不能全局管理。

三.Hadoop2.x简介【基于YARN

  1.图解

    

  2.ResourceManager

    主节点,负责整个集群的资源管理。

  3.NodeManager

    与ResourceManager汇报资源,管理Container生命周期,计算框架中的角色都以Container表示。

  4.Container

    默认NodeManager启动线程监控Container大小,超出申请资源额度会kill掉。支持Linux内核的Cgroup。

  5.Client

    ResourceManager-client:请求资源创建ApplicationMaster-client。

    ApplicationMaster-client:与ApplicationMaster交互。

四.YARN

  YARN【Yet Another Resource Negotiator】:Hadoop 2.0新引入的资源管理系统,直接从MRv1演化而来的。

  核心思想:将MRv1中JobTracker的资源管理和任务调度两个功能分开,分别由ResourceManager和ApplicationMaster进程实现:

    1.ResourceManager:负责整个集群的资源管理和调度。

    2.ApplicationMaster:负责应用程序相关的事务,比如任务调度、任务监控和容错等。

  YARN的引入,使得多个计算框架可运行在一个集群中 每个应用程序对应一个ApplicationMaster 目前多个计算框架可以运行在YARN上,比如MapReduce、Spark、Storm等。

原文地址:https://www.cnblogs.com/yszd/p/10885222.html