暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hadoop|Hadoop的前世今生

泰迪教育 2020-08-24
1663



泰迪学院-Hadoop连载

公众号ID:taidixueyuan

这是一个全新的栏目,专门为Hadoop小白开放,今天我们先来聊聊Hadoop是什么,以及Hadoop发展史。



 Hadoop简介

随着移动设备的广泛使用和互联网的快速发展,数据的增量和存量快速增加,硬件发展跟不上数据发展,单机设备很多时候已经无法处理庞大的甚至TB、PB级别的数据。如果一头牛拉不动货物,显然找几头牛一起拉会比培育一头更强壮的牛容易。同理,对于单机无法解决的问题,综合利用多个普通机器要比打造一台超级计算机更加可行,这就是Hadoop的设计思想。


Hadoop是一个由Apache基金会所开发的可靠的、可扩展的、用于分布式计算的分布式系统基础架构和开发开源软件。Apache Hadoop软件库是一个框架,允许使用简单的编程模型在计算机集群中对大规模数据集进行分布式处理。它的目的是从单一的服务器扩展到成千上万的机器,将集群部署在多台机器,每个机器提供本地计算和存储,并且将存储的数据备份在多个节点,由此提升集群的可用性,而不是通过硬件提升。当一个机器宕机时,其他节点依然可以提供备份数据和计算服务。

Hadoop框架最核心的设计是HDFS和MapReduce。HDFS(Hadoop Distributed File System)是可扩展、高容错、高性能的分布式文件系统,负责数据的分布式存储和备份,文件写入后只能读取不能修改。MapReduce是分布式计算框架,包含Map(映射)和Reduce(规约)两个过程。


 Hadoop的发展历史

Hadoop是由Apache Lucence创始人Doug Cutting创建的,Lucence是一个应用广泛的文本搜索系统库。Hadoop起源于开源的网络搜索引擎Apache Nutch,它本身也是Lucence项目的一部分。Hadoop的发展历程如图1所示。

图1  Hadoop发展历程

Nutch项目开始于2002年,当时互联网第一轮泡沫刚刚结束,Doug Cutting与好友Mike Cafarella认为网络搜索引擎由一个互联网公司垄断十分可怕,他们将掌握信息的入口,因此决定自己开发一个可以代替当时主流搜索产品的开源搜索引擎,该项目命名为Nutch。Nutch致力于提供开源搜索引擎所需的全部工具集。但后来,两位开发者发现这一架构的灵活性不够,只能支持几亿数据的抓取、索引和搜索,不足以解决数十亿网页的搜索问题。

2003年,Google发表的论文“The Google File System”为此提供了帮助,文中描述的是谷歌产品架构,该架构被称为“谷歌分布式文件系统”,简称GFS。Nutch的开发者们发现GFS架构有助于解决网页抓取和搜索过程中生成的超大文件存储需求,特别关键的是,GFS能够节省系统管理所使用的大量时间。于是在2004年,开发者们借鉴谷歌新技术开始进行开源版本的实现,即Nutch分布式文件系统(NDFS)。不同的是,Google用的是C++语言,而Nutch使用Java语言。

2004年,谷歌又发表了论文“MapReduce:Simplifed Data Processing on Large Clusters”向全世界介绍他们的MapReduce框架。Nutch的开发者们发现Google MapReduce所解决的大规模搜索引擎数据处理问题,又解决了他们当时同样面临并急需解决的问题。Nutch的开发者们基于Google发布的MapReduce报告,模仿了Google MapReduce框架的设计思路,用Java设计实现了一套新的MapReduce并行处理软件系统,在Nutch上开发了一个可工作的MapReduce应用。

2005年初,Nutch的开发人员在Nutch上实现了一个MapReduce算法,半年左右的时间,Nutch的所有主要算法均完成移植,用MapReduce和NDFS来运行。

2006年Dog Cutting在经过一系列周密考虑和详细总结后,他决定加入优秀的公司进一步完善Nutch的性能。IBM却对他的早期项目Lucence更感兴趣,而雅虎则看中Nutch底层NDFS/MapReduce。在2006年2月,开发人员将NDFS和MapReduce移出了Nutch,形成Lucence的子项目,命名为Hadoop,这个名字来源于Doug Cutting儿子的一只玩具象。随后Dog Cutting几经周折加入了Yahoo公司,雅虎为此组织了一个专门的团队和资源,致力将Hadoop发展成为能够处理海量Web数据的分布式系统。

当加入Yahoo以后,Hadoop项目逐渐发展并迅速成熟起来。首先是集群规模,从最开始几十台机器的规模发展到能支持上千个节点的机器,中间做了很多工程性质的工作, 然后是除搜索以外的业务,Yahoo逐步将自己广告系统的数据挖掘相关工作也迁移到了Hadoop上, 进一步推动了Hadoop系统的成熟与发展。

2007年,纽约时报在100个亚马逊的虚拟机服务器上使用Hadoop转换了4TB的图片数据,更加深了人们对Hadoop的印象。

在2008年,一位Google的工程师发现要把当时的Hadoop放到任意一个集群中去运行是一件很困难的事情,所以就拉上了几个好朋友成立了一个专门商业化Hadoop的公司Cloudera。同年,Facebook团队发现大多数分析人员编写MapReduce程序时有难度,而对SQL很熟悉,所以他们就在Hadoop上开发了一个叫作Hive的数据仓库工具,专门把SQL转换为Hadoop的MapReduce程序。

2008年1月,Hadoop已经成为Apache的顶级项目。

2008年4月,Hadoop打破世界纪录,成为最快的TB级数据排序系统。在一个910节点的集群,Hadoop在209秒内完成了对1TB数据的排序,击败了前一年的297秒。到2009年5月,有报道称雅虎有一个团队使用Hadoop对1TB数据进行排序只花了62秒。

2011年,Yahoo将Hadoop团队独立出来,成立了一个子公司Hortonworks,专门提供Hadoop相关的服务。

2012年,Hortonworks在Hadoop发展上推出了与原框架有很大不同的YARN框架的第一版本,从此Hadoop的研究又迈进一个新的层面。

2013年,大型IT公司,如EMC、Microsoft、Intel、Teradata、Cisco都明显增加了Hadoop方面的投入,Hortonworks宣传要100%开源软件,Hadoop 2.0转型基本上无可阻挡。

2014年,Hadoop 2.x的更新速度非常快,从2.3.0到2.6.0,极大地完善了YARN框架和整个集群的功能。很多Hadoop的研发公司如Cloudera、Hortonworks都与其他企业合作共同开发Hadoop新功能。

2015年,在Hadoop创新阶段走向错误道路的供应商逐步退出,与其他Hadoop版本发行企业整合,数据的实时访问处理是一个关注的重点。

2016年,Hadoop及其生态圈(包括Spark等)在各行各业落地并且得到广泛的应用,YARN将持续发展以支持更多应用。





文章转载自泰迪教育,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论