Hadoop的概念、版本、发展史

Hadoop是什么?

Hadoop: 适合大数据的分布式存储和计算平台

Hadoop不是指具体一个框架或者组件,它是Apache软件基金会下用Java语言开发的一个开源分布式计算平台。实现在大量计算机组成的集群中对海量数据进行分布式计算。适合大数据的分布式存储和计算平台。

Hadoop1.x中包括两个核心组件:MapReduce和Hadoop Distributed File System(HDFS)

其中HDFS负责将海量数据进行分布式存储,而MapReduce负责提供对数据的计算结果的汇总

Hadoop的起源

2003-2004年,Google公布了部分GFS和MapReduce思想的细节,受此启发的Doug Cutting等人用2年的业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。然后Yahoo招安Doug Gutting及其项目。

2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会。

2006年2月被分离出来,成为一套完整独立的软件,起名为Hadoop

Hadoop名字不是一个缩写,而是一个生造出来的词。是Hadoop之父Doug Cutting儿子毛绒玩具象命名的。

Hadoop的成长过程

Lucene–>Nutch—>Hadoop

总结起来,Hadoop起源于Google的三大论文

GFS:Google的分布式文件系统Google File System

MapReduce:Google的MapReduce开源分布式并行计算框架

BigTable:一个大型的分布式数据库

演变关系

GFS—->HDFS

Google MapReduce—->Hadoop MapReduce

BigTable—->HBase

Hadoop发展史

Hadoop大事记

2004年— 最初的版本(现在称为HDFS和MapReduce)由Doug Cutting和Mike Cafarella开始实施。

2005年12月— Nutch移植到新的框架,Hadoop在20个节点上稳定运行。

2006年1月— Doug Cutting加入雅虎。

2006年2月— Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。

2006年2月— 雅虎的网格计算团队采用Hadoop。

2006年4月— 标准排序(10 GB每个节点)在188个节点上运行47.9个小时。

2006年5月— 雅虎建立了一个300个节点的Hadoop研究集群。

2006年5月— 标准排序在500个节点上运行42个小时(硬件配置比4月的更好)。

2006年11月— 研究集群增加到600个节点。

2006年12月— 标准排序在20个节点上运行1.8个小时,100个节点3.3小时,500个节点5.2小时,900个节点7.8个小时。

2007年1月— 研究集群到达900个节点。

2007年4月— 研究集群达到两个1000个节点的集群。

2008年4月— 赢得世界最快1TB数据排序在900个节点上用时209秒。

2008年7月— 雅虎测试节点增加到4000个

2008年9月— Hive成为Hadoop的子项目

2008年11月— Google宣布其MapReduce用68秒对1TB的程序进行排序

2008年10月— 研究集群每天装载10TB的数据。

2008年— 淘宝开始投入研究基于Hadoop的系统–云梯。云梯总容量约9.3PB,共有1100台机器,每天处理18000道作业,扫描500TB数据。

2009年3月— 17个集群总共24 000台机器。

2009年3月— Cloudera推出CDH(Cloudera’s Dsitribution Including Apache Hadoop)

2009年4月— 赢得每分钟排序,雅虎59秒内排序500 GB(在1400个节点上)和173分钟内排序100 TB数据(在3400个节点上)。

2009年5月— Yahoo的团队使用Hadoop对1 TB的数据进行排序只花了62秒时间。

2009年7月— Hadoop Core项目更名为Hadoop Common;

2009年7月— MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。

2009年7月— Avro 和 Chukwa 成为Hadoop新的子项目。

2009年9月— 亚联BI团队开始跟踪研究Hadoop

2009年12月—亚联提出橘云战略,开始研究Hadoop

2010年5月— Avro脱离Hadoop项目,成为Apache顶级项目。

2010年5月— HBase脱离Hadoop项目,成为Apache顶级项目。

2010年5月— IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。

2010年9月— Hive( Facebook) 脱离Hadoop,成为Apache顶级项目。

2010年9月— Pig脱离Hadoop,成为Apache顶级项目。

2011年1月— ZooKeeper 脱离Hadoop,成为Apache顶级项目。

2011年3月— Apache Hadoop获得Media Guardian Innovation Awards 。

2011年3月— Platform Computing 宣布在它的Symphony软件中支持Hadoop MapReduce API。

2011年5月— Mapr Technologies公司推出分布式文件系统和MapReduce引擎——MapR Distribution for Apache Hadoop。

2011年5月— HCatalog 1.0发布。该项目由Hortonworks 在2010年3月份提出,HCatalog主要用于解决数据存储、元数据的问题,主要解决HDFS的瓶颈,它提供了一个地方来存储数据的状态信息,这使得 数据清理和归档工具可以很容易的进行处理。

2011年4月— SGI( Silicon Graphics International )基于SGI Rackable和CloudRack服务器产品线提供Hadoop优化的解决方案。

2011年5月— EMC为客户推出一种新的基于开源Hadoop解决方案的数据中心设备——GreenPlum HD,以助其满足客户日益增长的数据分析需求并加快利用开源数据分析软件。Greenplum是EMC在2010年7月收购的一家开源数据仓库公司。

2011年5月— 在收购了Engenio之后, NetApp推出与Hadoop应用结合的产品E5400存储系统。

2011年6月— Calxeda公司(之前公司的名字是Smooth-Stone)发起了“开拓者行动”,一个由10家软件公司组成的团队将为基于Calxeda即将推出的ARM系统上芯片设计的服务器提供支持。并为Hadoop提供低功耗服务器技术。

2011年6月— 数据集成供应商Informatica发布了其旗舰产品,产品设计初衷是处理当今事务和社会媒体所产生的海量数据,同时支持Hadoop。

2011年7月— Yahoo!和硅谷风险投资公司 Benchmark Capital创建了Hortonworks 公司,旨在让Hadoop更加鲁棒(可靠),并让企业用户更容易安装、管理和使用Hadoop。

2011年8月— Cloudera公布了一项有益于合作伙伴生态系统的计划——创建一个生态系统,以便硬件供应商、软件供应商以及系统集成商可以一起探索如何使用Hadoop更好的洞察数据。

2011年8月— Dell与Cloudera联合推出Hadoop解决方案——Cloudera Enterprise。Cloudera Enterprise基于Dell PowerEdge C2100机架服务器以及Dell PowerConnect 6248以太网交换机

Hadoop的四大特性(优点)

  1. 扩容能力(Scalable):Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计个节点中。
  2. 成本低(Economical):Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
  3. 高效率(Efficient):通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
  4. 可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。

Hadoop的版本

Hadoop的版本很特殊,是由多条分支并行的发展着。

1.x:该版本是由0.20.x发行版系列的延续

2.x:该版本是由0.23.x发行版系列的延续

其实Hadoop也就两个版本1.x和2.x

Hadoop1.0 指的是:1.x(0.20.x)、0.21、0.22

hadoop2.0 指的是:2.x、0.23.x

注意:高版本不一定包含低版本的特性

董的博客中也解释了各个版本的问题:

Hadoop版本选择探讨

Hadoop 2.0中的基本术语解释

Hadoop版本演变图

红色:表示企业中用的最多的实际生产版本

绿色:表示企业中用的最多的alpha版本

如何选择Hadoop版本

当前Hadoop版本比较混乱,让很多用户不知所措。实际上,当前Hadoop只有两个版本:Hadoop 1.0和Hadoop 2.0,其中,Hadoop 1.0由一个分布式文件系统HDFS和一个离线计算框架MapReduce组成,而Hadoop 2.0则包含一个支持NameNode横向扩展的HDFS,一个资源管理系统YARN和一个运行在YARN上的离线计算框架MapReduce。相比于Hadoop 1.0,Hadoop 2.0功能更加强大,且具有更好的扩展性、性能,并支持多种计算框架。

当我们决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素:

  1. 是否为开源软件,即是否免费。
  2. 是否有稳定版,这个一般软件官方网站会给出说明。
  3. 是否经实践验证,这个可通过检查是否有一些大点的公司已经在生产环境中使用知道。
  4. 是否有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法。

摘自董的博客

来自为知笔记(Wiz)

时间: 2024-08-09 12:50:55

Hadoop的概念、版本、发展史的相关文章

hadoop三大发行版本-优势-

Hadoop三大发行版本:Apache.Cloudera.Hortonworks. Apache版本最原始(最基础)的版本,对于入门学习最好. Cloudera在大型互联网企业中用的较多. Hortonworks文档较好. Apache Hadoop 官网地址:http://hadoop.apache.org/releases.html 下载地址:https://archive.apache.org/dist/hadoop/common/ Cloudera Hadoop 官网地址:https:/

hadoop分布式存储(1)-hadoop基础概念(毕业设计)

hadoop是一种用于海量数据存储.管理.分析的分布式系统.需要hadoop需要储备一定的基础知识:1.掌握一定的linux操作命令 2.会java编程.因此hadoop必须安装在有jdk的linux环境中. linux环境可以用以下方式获取:1.安装linux操作系统  2.安装linux虚拟机  3.在阿里云.UniteStack上租一个云主机,创建linux环境,然后用putty去链接. linux下jdk的安装:百度即可. 与hadoop相关联的一些基础知识: Google大数据技术:

[Hadoop] - Hadoop 3.x版本新特性

仅做记录--->官方说明:http://hadoop.apache.org/docs/r3.0.0-alpha2/index.html =========================================== 1. JDK版本的最低依赖从1.7变成了1.8 2. HDFS支持Erasure Encoding 3. Timeline Server v2版本 4. hadoop-client这个依赖分为hadoop-client-api和hadoop-client-runtime两个依

hadoop基础概念之Hadoop核心组件

认知和学习Hadoop,我们必须得了解Hadoop的构成,我根据自己的经验通过Hadoop构件.大数据处理流程,Hadoop核心三个方面进行一下介绍: Hadoop组件 由图我们可以看到Hadoop组件由底层的Hadoop核心构件以及上层的Hadoop生态系统共同集成,而上层的生态系统都是基于下层的存储和计算来完成的. 首先我们来了解一下核心构件:Mapreduce和HDFS.核心组件的产生都是基于Google的思想来的,Google的GFS带来了我们现在所认识的HDFS,Mapreduce带来

hadoop最新稳定版本使用建议

Apache Hadoop Apache版本衍化比较快,我给大家介绍一下过程 ApacheHadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0.第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0.22.x则NameNode HA等新的重大特性.第二代Hadoop包含两个版本,分别是0.23.x和2.x,它们完全不同于Hadoop

hadoop 各种概念整理

Hadoop Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS. HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上:而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序.HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据. Hadoop的框架最核心的设计

Hadoop基本概念

Hadoop是一个是个海量数据的分布式存储和计算平台 对于数据,我们大致可以将其分为三类: 结构化数据(对于结构化数据的处理可以通过RDBMS处理,通过将搜索码创建为索引页可以实现很快的查询速度) 半结构化数据(一般可以使用类型XML进行标记处理) 非结构化数据 其实,非结构化数据会占据相当大的比重,非机构化数据的存储和计算也变得比较困难. Hadoop的灵感来自于Google的两篇论文,包括MapReduce,我们可以将Hadoop理解为是MapReduce的开源实现,Hadoop是由java

关于Farseer.Net V1.0 概念版本的消息

V0.2版的开源距离今天(05年03月)已有近3年的时间.可以说这个版本已经有点落伍的感觉了,呵呵. V0.2版至今一直处于BUG的修复及一些细小功能的增加,所以版本号上一直没有变化. 其实在这1.2年中,我一直在想着Farseer.Net 的未来发展状况.有尝试用EF的核心.也有想过用NHibernate的核心.仅仅是在这些核心的基础下做二次开发,以个人编码的经验从客户端调用角度进行“优化”,但总是感觉缺少点什么?没错,就是缺少研发精神,缺少属于Farseer.Net独特的一面,有种寄人(第三

Hadoop 新生报道(三) hadoop基础概念

一.NameNode,SeconderyNamenode,DataNode NameNode,DataNode,SeconderyNamenode都是进程,运行在节点上. 1.NameNode:hadoop的主节点, 保存HDFS的元数据信息 1.fsimage - 它是在NameNode启动时对整个文件系统的快照 2.edit logs - 它是在NameNode启动后,对文件系统的改动序列 2.SeconderyNamenode:  职责是合并NameNode的edit logs到fsima