现在的位置: 首页 > 综合 > 正文

Hadoop1.0与Hadoop 2.0特性对比

2017年12月06日 ⁄ 综合 ⁄ 共 3539字 ⁄ 字号 评论关闭

转载自董的博客

相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA和Federaion。HA即为High Availability,用于解决NameNode单点故障问题,该特性通过热备的方式为主NameNode提供一个备用者,一旦主NameNode出现故障,可以迅速切换至备NameNode,从而实现不间断对外提供服务。Federation即为“联邦”,该特性允许一个HDFS集群中存在多个NameNode同时对外提供服务,这些NameNode分管一部分目录(水平切分),彼此之间相互隔离,但共享底层的DataNode存储资源。

在一个典型的HDFSHA场景中,通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。ActiveNameNode对外提供服务,比如处理来自客户端的RPC请求,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。

为了能够实时同步Active和Standby两个NameNode的元数据信息(实际上editlog),需提供一个共享存储系统,可以是NFS、QJM(Quorum Journal Manager)或者Bookeeper,ActiveNamenode将数据写入共享存储系统,而Standby监听该系统,一旦发现有新数据写入,则读取这些数据,并加载到自己内存中,以保证自己内存状态与Active NameNode保持基本一致,如此这般,在紧急情况下standby便可快速切为active
namenode。

最近利用业余时间整理了一个HDFS HA和Federation安装部署文档,分享给大家,下载地址是:HDFS HAFederation安装部署方法
v0.1

HDFS HA和Federation安装部署方法 v0.1:http://pan.baidu.com/share/link?shareid=3918641874&uk=2248644272

Hadoop2.2.0正式版特性分析

15 October, 2013:Release 2.2.0available

Apache Hadoop2.2.0 is the GA release of Apache Hadoop 2.x.

Users areencouraged to immediately move to 2.2.0 since this release issignificantly morestable and is guaranteed to remain compatible in terms ofboth APIs andprotocols.

To recap, thisrelease has a number of significant highlights compared toHadoop 1.x:

·       YARN- A general purpose resourcemanagement system for Hadoop to allow MapReduce andother other data processingframeworks and services

·       HighAvailability for HDFS

·       HDFSFederation

·       HDFSSnapshots

·       NFSv3access to data in HDFS

·       Supportfor running Hadoop on MicrosoftWindows

·       BinaryCompatibility for MapReduceapplications built on hadoop-1.x

·       Substantialamount of integrationtesting with rest of projects in the ecosystem

A couple ofimportant points to note while upgrading to hadoop-2.2.0:

·       HDFS- The HDFS community decided topush the symlinks feature out to a future 2.3.0release and is currentlydisabled.

·       YARN/MapReduce- Users need to changeShuffleHandler service name from mapreduce.shuffle tomapreduce_shuffle.

Please seethe Hadoop 2.2.0Release Notes for
details.

      从以上说明可以看到,Hadoop 2.2.0Hadoop 2.x时代第一个稳定版本,建议所有正在使用Hadoop
2.x
的用户升级到这个版本。

      2.2.0相对于2.x之前的版本,主要功能上没有太大的变化,所以这里所列举的新特性都是基于Hadoop 1.x来说的。

 

·        YARN

YARN全名为“YetAnother Resource Negotiator”,是Hadoop 0.23之后开始引入的一个资源管理框架,目的是为了让各种计算框架都可以在Hadoop上运行而不是仅限于Hadoop
1.x
时代的MapReduce

目前YARN可以管理的资料类型包括了CPU和内存,未来可能会加入对磁盘和网络等类型的支持。

目前YARN可以支持的框架包括:MapReduce(批处理框架)、Storm(流式处理框架,项目为Stormon
YARN
,主要由Hortonworks在推进。正式版本未出但可用,yahoo和淘宝等在内部已经大规模使用)、Spark(内存处理框架,项目为Spark
on YARN
,主要由Cloudera在推进。正式版本未出但可用,淘宝等在内部也已经大规模使用)。

正在YARN上开发且未来比较靠谱的框架有:TezDAG框架,继承自MapReduce,性能有巨大提升)、Hoya(将HBase运行在YARN上,主要由Hortonworks在推进)。

此外,还有一些框架,如BSPMPI等也有在YARN的开源项目,但前景还不太明朗。

 

·        HighAvailability for HDFS

解决HDFS的单点问题。

实现是基于NameNode的主从切换,关键点在于主从NameNode通过一个共享储存同步元数据信息。Hadoop目前提供了NFSQJMBookeeper三种共享储存可选。三种方案中年,NFS本身又存在单点问题,而QJMBookeeper都是分布式系统,不存在单点问题;前者由Cloudera推出,后者由Yahoo推出,相对来说,QJM更简单,更易于维护。

 

·        HDFSFederation

解决NameNode内存容量限制HDFS元数据数量的问题。

HDFS的所有元数据都是储存在NameNode的内存中。HDFS Federation将整个HDFS的元数据空间分隔为多个独立的空间,每个空间的元数据由一个NameNode保存。

这种方式还是存在单点问题:如果有NameNode故障,那么它保存的那部分元数据将无法访问。同时,由于每个DataNode需要向所有的NameNode汇报心跳,会对集群的性能产生影响,而且NameNode越多,性能影响越大。

 

·        HDFSSnapshots

HDFS快照,这个和数据库快照类似。

 

·        NFSv3access to data in HDFS

支持以NFS3协议,使得用户可以像访问本地数据一样访问HDFS上的数据。

 

·        Supportfor running Hadoop on MicrosoftWindows

支持在Windows平台上运行Hadoop。在此版本以前,Windows只是试验平台。

 

·        BinaryCompatibility for MapReduceapplications built on Hadoop-1.x

保持对Hadoop 1.x构建的MapReduce应用的二进制兼容性。

Hadoop 1.x中的MapReduce有新旧两套API,性能上没有区别,新API封装得更好,扩展性更好。但2.x之前的一些版本只能使用支持旧APIMapReduce应用,使用新API的应用需要进行一些修改。

 

·        Substantialamount of integration testingwith rest of projects in the ecosystem

Hadoop生态系统的其他系统进行了充分的集成测试。

抱歉!评论已关闭.