360SDN.COM

首页/Hadoop/列表

六点解读Hadoop版本和生态圈

来源:  2016-04-25 11:52:34    评论:0点击:

 1. Hadoop版本

  (1) Apache Hadoop版本介绍

  Apache的开源项目开发流程:

  主干分支:新功能都是在主干分支(trunk)上开发。

  特性独有分支:很多新特性稳定性很差,或者不完善,在这些分支的独有特定很完善之后,该分支就会并入主干分支。

  候选分支:定期从主干分支剥离,一般候选分支发布,该分支就会停止更新新功能,如果候选分支有BUG修复,就会重新针对该候选分支发布一个新版本,候选分支就是发布的稳定版本。

  造成Hadoop版本混乱的原因:

  主要功能在分支版本开发:0.20分支发布之后,主要功能一直在该分支上进行开发,主干分支并没有合并这个分支,0.20分支成为了主流。

  低版本的后发布:0.22版本发布要晚于0.23版本。

  版本重命名:0.20分支的0.20.205版本重命名为1.0版本,这两个版本是一样的,只是名字改变了。

  Apache Hadoop版本示意图:

  (2) Apache Hadoop版本功能介绍

  第一代Hadoop特性:

  append:支持文件追加功能,让用户使用HBase的时候避免数据丢失,也是使用HBase的前提。

  raid:保证数据可靠,引入校验码校验数据块数目。

  symlink:支持HDFS文件链接。

  security:hadoop安全机制。

  namenode HA:为了避免namenode单点故障情况,HA集群有两台namenode。

  第二代Hadoop特性:

  HDFS Federation:NameNode制约HDFS扩展,该功能让多个NameNode分管不同目录,实现访问隔离和横向扩展。

  yarn:MapReduce扩展性和多框架方面支持不足,yarn是全新的资源管理框架,将JobTracker资源管理和作业控制功能分开,ResourceManager负责资源管理,ApplicationMaster负责作业控制。

  0.20版本分支:只有这个分支是稳定版本,其它分支都是不稳定版本。

  0.20.2版本(稳定版):包含所有特性,经典版。

  0.20.203版本(稳定版):包含append,不包含symlink raid namenodeHA功能。

  0.20.205版本/1.0版本(稳定版):包含append security,不包含symlink raid namenodeHA功能。

  1.0.1~1.0.4版本(稳定版):修复1.0.0的bug和进行一些性能上的改进。

  0.21版本分支(不稳定版):包含append raid symlink namenodeHA,不包含security。

  0.22版本分支(不稳定版):包含 append raid symlink那么弄得HA,不包含mapreduce security。

  0.23版本分支:

  0.23.0版本(不稳定版):第二代的hadoop,增加了HDFS Federation和yarn。

  0.23.1~0.23.5(不稳定版):修复0.23.0的一些BUG,以及进行一些优化。

  2.0.0-alpha~2.0.2-alpha(不稳定版):增加了namenodeHA 和 Wire-compatiblity功能。

  (3) Cloudera Hadoop对应Apache Hadoop版本

  2. Hadoop生态圈

  Apache支持:Hadoop的核心项目都受Apache支持的,除了Hadoop之外,还有下面几个项目,也是Hadoop不可或缺的一部分。

  HDFS:分布式文件系统,用于可靠的存储海量数据。

  MapReduce:分布式处理数据模型,可以运行于大型的商业云计算集群中。

  Pig:数据流语言和运行环境,用来检索海量数据集。

  HBase:分布式数据库,按列存储,HBase使用HDFS作为底层存储,同时支持MapReduce模型的海量计算和随机读取。

  Zookeeper:提供Hadoop集群的分布式的协调服务,用于构建分布式应用,避免应用执行失败带来的不确定性损失。

  Sqoop:该工具可以用于HBase 和 HDFS之间的数据传输,提高数据传输效率。

  Common:分布式文件系统,通用IO组件与接口,包括序列化、Java RPC和持久化数据结构。

  Avro:支持高效跨语言的RPC及永久存储数据的序列化系统。

  MapReduce模型简介

  MapReduce简介:MapReduce是一种数据处理编程模型。

  多语言支持:MapReduce可以使用各种语言编写,例如Java、Ruby、Python、C++。

  并行本质 :MapReduce 本质上可以并行运行的
为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权