Hadoop之起源

1.1发展历史

Hadoop之父Doug Cutting,江湖人称狗哥
Doug Cutting

  • 2002年10月,Doug Cutting和Mike Cafarella创建了开源网页爬虫项目Nutch。
  • 2003年10月,Google发表Google File System论文。
  • 2004年7月,Doug Cutting和Mike Cafarella在Nutch中实现了类似GFS的功能,即后来HDFS的前身。
  • 2004年10月,Google发表了MapReduce论文。
  • 2005年2月,Mike Cafarella在Nutch中实现了MapReduce的最初版本。
  • 2005年12月,开源搜索项目Nutch移植到新框架,使用MapReduce和NDFS在20个节点稳定运行。
  • 2006年1月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。
  • 2006年2月,Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。
  • 2006年3月,Yahoo!建设了第一个Hadoop集群用于开发。
  • 2006年4月,第一个Apache Hadoop发布。
  • 2006年11月,Google发表了Bigtable论文,激起了Hbase的创建。
  • 2007年10月,第一个Hadoop用户组会议召开,社区贡献开始急剧上升。
  • 2007年,百度开始使用Hadoop做离线处理。
  • 2007年,中国移动开始在“大云”研究中使用Hadoop技术。
  • 2008年,淘宝开始投入研究基于Hadoop的系统——云梯,并将其用于处理电子商务相关数据。
  • 2008年1月,Hadoop成为Apache顶级项目。
  • 2008年2月,Yahoo!运行了世界上最大的Hadoop应用,宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。
  • 2008年4月,在900个节点上运行1TB排序测试集仅需209秒,成为世界最快。
  • 2008年8月,第一个Hadoop商业化公司Cloudera成立。
  • 2008年10月,研究集群每天装载10TB的数据。
  • 2009 年3月,Cloudera推出世界上首个Hadoop发行版——CDH(Cloudera’s Distribution including Apache Hadoop)平台,完全由开放源码软件组成。
  • 2009年6月,Cloudera的工程师Tom White编写的《Hadoop权威指南》初版出版,后被誉为Hadoop圣经。
  • 2009年7月 ,Hadoop Core项目更名为Hadoop Common;
  • 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。
  • 2009年8月,Hadoop创始人Doug Cutting加入Cloudera担任首席架构师。
  • 2009年10月,首届Hadoop World大会在纽约召开。
  • 2010年5月,IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。
  • 2011年3月,Apache Hadoop获得Media Guardian Innovation Awards媒体卫报创新奖
  • 2012年3月,企业必须的重要功能HDFS NameNode HA被加入Hadoop主版本。
  • 2012年8月,另外一个重要的企业适用功能YARN成为Hadoop子项目。
  • 2014年2月,Spark逐渐代替MapReduce成为Hadoop的缺省执行引擎,并成为Apache基金会顶级项目。
  • 2017年12月,Release 3.0.0 generally available

1.2核心组件

  • hadoop通用组件 - Hadoop Common
    包含了其他hadoop模块要用到的库文件和工具
  • 分布式文件系统 - Hadoop Distributed File System (HDFS)
    运行于通用硬件(对硬件要求不高)上的分布式文件系统,高吞吐,高可靠
  • 资源管理组件 - Hadoop YARN
    于2012年引入的组件,用于管理集群中的计算资源并在这些资源上调度用户应用。
  • 分布式计算框架 - Hadoop MapReduce
    用于处理超大数据集计算的MapReduce编程模型的实现。
  • Hadoop Ozone: An object store for Hadoop.
    用于Hadoop的对象存储
  • Hadoop Submarine: A machine learning engine for Hadoop
    Hadoop的机器学习引擎

1.3Hadoop关联项目

  • Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。
  • Avro™:数据序列化系统
  • Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身,Facebook于2008将 Cassandra 开源。
  • chukwa 是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在 hadoop 的 HDFS 和MapReduce框架之上的,继承了 hadoop 的可伸缩性和健壮性。Chukwa 还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。
  • hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
  • Mahout 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。
  • Apache Pig 是一个高级过程语言,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。
  • Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab开源的类Hadoop MapReduce的通用并行框架,拥有MapReduce所具有的优点;但是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
  • Tez 是 Apache 最新的支持 DAG 作业的开源计算框架。它允许开发者为最终用户构建性能更快、扩展性更好的应用程序。Hadoop传统上是一个大量数据批处理平台。但是,有很多用例需要近乎实时的查询处理性能。还有一些工作则不太适合MapReduce,例如机器学习。Tez的目的就是帮助Hadoop处理这些用例场景。
  • ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
  • HBase是一个分布式的、高可靠性、高性能、面向列、可伸缩的分布式存储系统,该技术来源于Fay Chang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。
发布了262 篇原创文章 · 获赞 491 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/qq_42859864/article/details/104435762