Hadoop 从Yahoo向Google的技术转折

原创
开发 后端 Hadoop
MapReduce和GFS是Google大规模数据处理以及网络资源访问技术,这两项技术可以说是Google的生命源头和根基。Yahoo前工程师Doug Cutting,也就是Nutch的主要开发者今日详细解释了Nutch分支项目Hadoop发展目标,就是要模拟MapReduce和GFS,支持大规模集群甚至云计算。我们希望早日能够看到Hadoop正式版本的发布。

【51CTO快译】Apache Hadoop,是一个模仿Google MapReduce架构的开源软件,虽然还没有***正式发布,但是已经非常有影响力了。

仅仅一年的时间,Hadoop就发布了一个真正开源的稳定版本,但是这个版本还不能称为1.0,只能称为0.20.0。尽管如此,Hadoop已经成为eHarmony情人频道、LinkedIn求职频道、Fox互动媒体社区网站等很多大网站的搜索引擎了。另外默多克传媒、MySpace、Photobucket以及Rotten Tomatoes也都表示Hadoop为他们提供了很大的帮助。

在最近的一次采访中,Hadoop创始人之一Doug Cutting表示自己都对Hadoop的发展速度感到吃惊。他说:“从Nutch(Hadoop的前身)开始探索网络搜索以来,....我一直在寻找和挑战突破”。还说;“那时候并没有认为我们已经超出了现在大规模网站的索引环境”。

但是在***个稳定版本发布一年之后的几个月里,也就是去年的ApacheCon会议上,关于Hadoop 1.0以及2010年的方向的讨论变得不可思议。

该项目正朝着一个在无需打破用户习惯、无需重新安装软件或损失数据的情况下就可以升级的目标前进。使用Hadoop,用户在不需要彻底重建数据中心的情况下对系统进行升级。

Yahoo将Hadoop项目优先级降低

Cutting说,他的前雇主,也就是Yahoo,这个拥有众多支持者的企业一直都是Hadoop的唯一支持者。但是现在遇到了一些挑战,因为Yahoo已经开始将重点倾斜向一些其他的项目了。搜索的另一个要求就是安全性,只有在安全的搜索保护下,人们才可以建设大规模私人信息集群,并且保证不让其他人找到他们的信息。虽然安全也是Hadoop目标之一,但是Yahoo更希望能够快速推出可用的产品。Cutting说,Hadoop 1.0可能没有太大的改进,但是我们有很大的希望。

有趣的转折

最初阶段,Yahoo发起并推动了Hadoop项目,并为该项目提供了很大的帮助。但是在2000年之后,随着Google公司的发展,Yahoo清楚的看到Hadoop不应该仅仅是一个网络搜索引擎,更应该是一个能够为分布式数据提供各种服务的运算架构。该架构是基于Google分布式文件系统(GFS)以及MapReduce之上。在GFS和MapReduce之前,也就是2002年的时候,Cutting已经创建了Nutch这个很完善的搜索引擎,但是后来开始遇到困难。Cutting说,当时的工作内容已经涉及到整个互联网,对10亿个网页进行操作是一个很痛苦的事情。

从Nutch到Hadoop

Hadoop模仿GFS和MapReduce,将大量的数据分割成小的数据块,以达到联合数千个服务器快速搜索的目的,并且提供单一的访问点。Cutting说,现在已经能过搭建起基于20多台服务器的演示案例,并在之上做一些实际的工作。但是不会达到所说的数千个服务器程度,因为那么多服务器,在可靠性方面现在还确实没有办法保证。

就在Yahoo参与和支持Nutch,并为该项目提供工程师和设备的时候,Yahoo软件开发副总裁Eric Baldeschwieler发现了该项目的另一个用途,也就是迅速分析和处理位于多个网络服务器上的数据。于是Cutting从Nutch中将分布计算部分单独分离为Hadoop项目。

Cutting说Yahoo的研发人员希望从广告以及web服务器获取大量数据。如果你问一个Yahoo的研发人员如何提高广告的相关性,他们会说首先把数据收集到一起,然后找到这些数据的早期用户,这些人就是喜欢相关广告的人。但是,如何分析网页内容几周内所发生的变化,这种变化每个小时都存在,并且会导致分散广告点击流量,以及如何在很短的时间内处理上TB的数据。这些都是要处理的大问题在Yahoo将注意力放在安全问题上的时候,Cutting继续为Hadoop项目寻找突破点。他希望有其他的非Java程序员能够参与进来,参与的方式可以通过Avro项目。

Java之外

Avro是一种数据交换格式,目标是保证在应用程序升级或修改之后依然能对数据进行访问。当然目标也包括Python、C、以及C++等其他程序语言能够支持Hadoop、MapReduce 和 HDFS。

在2009年8月,Cutting加入了Cloudera公司,该公司的业务是销售流行开源技术和服务。虽然Hadoop已经应用在很多大型网站上,但是Cutting还是觉得Hadoop适合建立20个点左右的集群,这种集群应该比通过数据库处理堆积如山的数据更容易。Cloudera的客户包括NetFlix 和三星公司。

如果不希望在自己的企业里使用Hadoop,那么也可以像Amazon和Rackspace一样,采用Hadoop提供云服务。虽然这样做有点难,但是已经有很好的支持工具了。Cutting还保证Hadoop的目标就是隐藏复杂的细节,对外提供简单的接口。

虽然现在Cutting还没有确切的计划,但是不会拖延Hadoop的推出。

【编辑推荐】

  1. Yahoo公布Hadoop的源代码
  2. Bing、Google、Yahoo三强***大比拼
  3. 面向Java开发者的Yahoo富UI组件库
  4. Yahoo推出新的陈列式广告系统APT
  5. Yahoo发表Search Assist 强化搜索服务
责任编辑:佚名 来源: 51CTO
相关推荐

2010-06-07 12:52:21

Hadoop

2009-06-12 19:03:41

Hadoop源代码Yahoo

2015-07-30 13:02:39

微软Windows 10

2012-11-12 10:13:09

2012-11-15 10:55:36

服务器数据中心Google

2011-10-17 09:26:48

微软Hadoop

2015-07-17 11:08:13

GoogleOpenStack

2015-11-30 14:01:31

应用交付网络优化

2009-06-01 09:46:57

2021-02-24 16:05:42

技术研发内存

2016-08-22 12:52:41

GoogleFuchsia操作系统

2009-09-03 10:52:13

Google Wave

2015-01-19 10:51:45

GoogleStackdriver云计算

2021-08-27 15:19:14

AI技术科学

2012-02-13 09:03:04

Web

2012-05-03 15:16:36

华为

2012-12-17 10:01:27

Google DremApache Hado云计算

2012-04-29 16:01:39

Phone

2013-05-02 10:17:34

Google AppsOffice 365

2010-09-16 10:46:47

点赞
收藏

51CTO技术栈公众号