Hadoop的前世今生
随着数据的快速增长,数据的存储和分析都变的越来越困难。例如存储容量、读写速度、计算效率等都无法满足用户的需求。为了解决这些问题,Google提出了三个处理大数据的技术手段,分别是:
l MapReduce::Google的MapReduce开源分布式并行计算框架
l BigTable:一个大型的分布式数据库
l GFS:Google的分布式文件系统
上述三大技术可以说是革命性的技术,具体表现在:
(1) 成本降低、能用PC机,就不用大型机和高端存储。
(2) 软件容错硬件故障视为常态,通过软件保证可靠性。
(3) 简化并行分布式计算,无须控制节点同步和数据交换。
在2003至2004年,Google陆续公布了部分GFS和MapReduce思想的细节,Nutch的创始人Doug Cutting受到启发,用了若干年时间实现了DFS和MapReduce机制,使Nutch性能飙升。
2005年,Hadoop作为Lucene子项目Nutch的一部分正式被引入Apache基金会,随后又从Nutch中剥离,成为一套完整独立的软件,起名为Hadoop。据说,Hadoop这个名字来源于创始人Doug Cutting儿子的毛绒玩具大象,因此,Hadoop的Logo形象如图1所示。
图1 Hadoop Logo
目前,Hadoop已经正式成为Apache顶级开源项目,俨然已经成为大数据处理技术的核心地位。下面我们回顾一下近10年来Hadoop的主要发展历程。
- 2008年1月,Hadoop成为Apache顶级项目。
- 2008年6月,Hadoop的第一个SQL框架——Hive成为了Hadoop的子项目。
- 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。
- 2009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。
- 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。
- 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。
- 2010年9月,Hive脱离Hadoop,成为Apache顶级项目。
- 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。
- 2010年-2011年,扩大的Hadoop社区忙于建立大量的新组件(Crunch,Sqoop,Flume,Oozie等)来扩展Hadoop的使用场景和可用性。
- 2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。
- 2011年12月,Hadoop1.0.0版本发布,标志着Hadoop已经初具生产规模。
- 2012年5月,Hadoop 2.0.0-alpha版本发布,这是Hadoop-2.x系列中第一个(alpha)版本。与之前的Hadoop-1.x系列相比,Hadoop-2.x版本中加入了YARN,YARN成为了Hadoop的子项目。
- 2012年10月,Impala加入Hadoop生态圈。
- 2013年10月,Hadoop2.0.0版本发布,标志着Hadoop正式进入MapReduce v2.0时代。
- 2014年2月,Spark开始代替MapReduce成为Hadoop的默认执行引擎,并成为Apache顶级项目。
- 2017年12月,继Hadoop3.0.0的四个Alpha版本和一个Beta版本后,第一个可用的Hadoop 3.0.0版本发布。