hadoop 1.X 和 2.X版本MapReduce的区别

2019-10-10  本文已影响0人  alexlee666

Hadoop框架适用于离线批量处理大文件,主要分为三部分:

Hadoop 2.X 版本是用来解决1.X 版本存在的一些问题,虽说内部的架构发生了改变,但是对于使用者来说则是透明的,client API 的调用方法没有做什么改变,方便了使用者。


一、hadoop 1.X版本的 MapReduce

hadoop 1.X 版本的MapReduce架构

1.1 主从架构:JobTracker 和 TaskTracker

Master:全局唯一的 JobTracker:

Slaves:多个TaskTracker:


二、hadoop 1.X 版本的MapReduce存在的问题


三、hadoop 2.X 版本之后的MapReduce和YARN

3.1 引入资源管理器YARN

为了解决上述问题,开发人员对MapReduce的架构进行了改进。弃用了1.X 版本中的“JobTracker + TaskTracker模式,在2.X版本中:

3.2 YARN的组成

hadoop 2.X 之后版本的MapReduce架构

YARN,全称为Yet Another Resource Negotiator,即一款通用的第三方的资源管理器,其不仅可以作为Hadoop集群的资源管理器,也可以作为其他集群的资源管理器,比如Spark集群(就是我们通常所说的Spark on YARN,可以参考:https://blog.csdn.net/liweihope/article/details/91358144)。
YARN总体上仍然是主从结构,其中:

当用户提交一个application时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的任务。由于不同的ApplicationMaster被分布到不同的节点上,因此它们之间不会相互影响。

YARN主要由4个部分组成:
1. ResourceManger:

2. ApplicationMaster:

3. NodeManager:

4. Container:


参考:
https://blog.csdn.net/u013072041/article/details/80110697
http://blog.itpub.net/31077337/viewspace-2213602/

上一篇 下一篇

猜你喜欢

热点阅读