Hadoop1.0和Hadoop2.0的区别

开发 开发工具 Hadoop
今天我们讲讲如何选择不同的Hadoop版本。

如何选择不同的Hadoop版本。

一、什么是Hadoop1.0?

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

二、什么是Hadoop2.0?

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

三、两者的区别

1. 从Hadoop整体框架来说

Hadoop1.0由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTracker组成。

Hadoop2.0为克服Hadoop1.0中的不足进行了下面改进:

(1)针对Hadoop1.0单NameNode制约HDFS的扩展性问题,提出HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时彻底解决了NameNode单点故障问题;

(2)针对Hadoop1.0中的MapReduce在扩展性和多框架支持等方面的不足,它将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用程序的资源分配)和ApplicationMaster(负责管理一个应用程序)实现,即引入了资源管理框架Yarn。

(3)Yarn作为Hadoop2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度,不仅限于MapReduce一种框架,也可以为其他框架使用,如Tez、Spark、Storm等

2. 从MapReduce计算框架来讲

MapReduce1.0计算框架主要由三部分组成:编程模型、数据处理引擎和运行时环境。它的基本编程模型是将问题抽象成Map和Reduce两个阶段,其中Map阶段将输入的数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录,Reduce阶段将key相同的value进行规约处理,并将最终结果写到HDFS上;它的数据处理引擎由MapTask和ReduceTask组成,分别负责Map阶段逻辑和Reduce阶段的逻辑处理;它的运行时环境由一个JobTracker和若干个TaskTracker两类服务组成,其中JobTracker负责资源管理和所有作业的控制,TaskTracker负责接收来自JobTracker的命令并执行它。

MapReducer2.0具有与MRv1相同的编程模型和数据处理引擎,唯一不同的是运行时环境。MRv2是在MRv1基础上经加工之后,运行于资源管理框架Yarn之上的计算框架MapReduce。它的运行时环境不再由JobTracker和TaskTracker等服务组成,而是变为通用资源管理系统Yarn和作业控制进程ApplicationMaster,其中Yarn负责资源管理的调度而ApplicationMaster负责作业的管理。

Hadoop1与Hadoop2的区分还是非常大,HDFS和MR都有不同,最起码的配置文件就不一样。项目应用的话,建议尽量往高版本走。稳健一点的话稍低于***版本的一个稳定版本即可。

【本文为51CTO专栏作者“朱国立”的原创稿件,转载请通过作者微信公众号“开发者圆桌”获取联系和授权】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2021-01-28 05:11:26

HDFS架构Hadoop

2013-12-12 12:47:53

Hadoop 2.0开源大数据

2012-06-26 15:20:30

Hadoop 2.0

2013-05-28 09:12:59

Hadoop 2.0

2019-07-17 13:25:03

SparkHadoop架构

2013-05-27 14:05:16

2012-05-28 09:23:40

JavaHadoopApache

2013-05-27 14:31:34

Hadoop 2.0

2013-11-27 09:21:18

YARNMapReduceHadoop

2023-10-20 08:14:21

2013-05-27 15:12:49

Hadoop 2.0

2013-10-14 09:22:50

HadoopWeb 2.0磁带

2013-10-16 10:04:43

HadoopWeb 2.0磁带

2010-06-03 15:39:47

Hadoop配置

2013-06-08 14:34:42

Hadoop 2.0

2016-06-02 14:05:22

Hadoop 3.0大数据处理 Spark

2018-09-11 13:15:40

Hadoop大数据发行版

2023-11-21 22:23:06

2012-09-18 09:55:44

Hadoop 2.0

2013-05-29 09:22:03

点赞
收藏

51CTO技术栈公众号