文档章节

Hadoop1.0和Hadoop2.0的区别

做人当本然
 做人当本然
发布于 2017/05/09 11:23
字数 1047
阅读 24
收藏 0

本文转自「开发者圆桌」一个10年老猿原创文章传播开发经验,尤其适合初学者或刚入职场前几年程序猿的微信公众号。

什么是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)两个方面是相同的。

 

两者的区别

 

从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等


从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都有不同,最起码的配置文件就不一样。项目应用的话,建议尽量往高版本走。稳健一点的话稍低于最高版本的一个稳定版本即可。

 

通过访问Hadoop官网http://hadoop.apache.org/releases.html,我们可以看到目前Hadoop已经发展到3.0版本。

 

通过访问http://mirror.bit.edu.cn/apache/hadoop/common/可以下载需要的Hadoop软件包,各个版本以及如何选择稳定版本,请参考图中标注,其中current目录表示当前研发中的版本,stable表示当前最稳定的版本,stable1表示Hadoop1.0最稳定版本,同理stable2表示Hadoop2.0最稳定版本。

© 著作权归作者所有

做人当本然
粉丝 0
博文 11
码字总数 12300
作品 0
东城
高级程序员
私信 提问
Hadoop 1.x与Hadoop 2.x的区别

最近看了某大神的博客,非常详细地描述了关于Hadoop 1.x与Hadoop 2.x的区别和改进,博客原文链接如下: http://www.cnblogs.com/edisonchou/p/4470682.html 看了博客之后,自己简单总结概述了...

edwardGe
2018/07/03
43
0
Hadoop生态系统

首先我们先了解一下Hadoop的起源。然后介绍一些关于Hadoop生态系统中的具体工具的使用方法。如:HDFS、MapReduce、Yarn、Zookeeper、Hive、HBase、Oozie、Mahout、Pig、Flume、Sqoop。 Hadoop...

huojiao2006
2017/03/06
0
0
Hadoop概括——学习笔记转

前言 第一章主要讲的是hadoop基础知识。老师讲的还是比较全面简单的,起码作为一个非专业码农以及数据库管理人员,也能狗大致了解其特点 首先是概括图(以hadoop2.0为例) 一、Hadoop基础架构...

长征2号
2017/10/31
0
0
DataNode多磁盘空间占用不平均

问题描述: Hadoop集群在运行一段时间后会出现一个问题:由于集群节点众多,某个节点上的磁盘坏掉,然后换了新盘。那么新盘相对于同节点上的其他数据盘会有更多的剩余空间。 解决办法: 在h...

Yulong_
2017/08/09
112
0
Hadoop 2.0 Federation

原文:http://www.linuxidc.com/Linux/2014-05/101179.htm 1 概述 在Hadoop1.0的架构中,HDFS的所有的元数据都放在一个namenode中,只有一个namespace(名字空间)。这样随着HDFS的数据越来越多...

柴火
2014/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部