类似 Google 构架的开源项目 Hadoop 近获社区关注

  • Scott Delap
  • 张海龙

2007 年 8 月 17 日

话题:JavaDevOps语言 & 开发架构

类似 Google 构架的开源项目Hadoop 已经存在一年多了,现在正受到来自开发社区的广泛关注。下面是来自 Hadoop官网 的消息:

Hadoop 是一个软件平台,可以让你很容易地开发和运行处理海量数据的应用……Hadoop 是MapReduce 的实现,它使用了 Hadoop 分布式文件系统(HDFS)。MapReduce 将应用切分为许多小任务块去执行。出于保证可靠性的考虑,HDFS 会为数据块创建多个副本,并放置在群的计算节点中,MapReduce 就在数据副本存放的地方进行处理……

Hadoop 是由 Java 编写的,该项目已到得 Yahoo 的全面支持,项目的领袖 Doug Cutting 从 2006 年一月开始已经被 Yahoo 全职雇用于此项目中。华盛顿大学也从那时开始了一个以 Hadoop 为基础的分布式计算的课程,课程相关的材料也已发布 在 Google Code 了,以满足那些对这项技术感兴趣的开发者们。

最近,Yahoo 的 Jeremy Zawodny提供了 一个 Hadoop 的状态更新:

在过去的几年里,每家参与建立大规模 Web 系统的公司都面临着一些相同的基础性挑战……底层架构从来都是一个挑战。你不得不去购 买、并大量安装和管理众多的服务器,即使你使用的是其他人提供的商业硬件平台,你也不得不开发软件对这些任务进行分治处理,并让其保持运行……要建立一个 必要的软件基础结构,我们可以放弃开发自己的技术,这可以认为是一项竞争优势,先赚到钱再说。但我们已经选择了一条稍有不同的路,当认识到有越来越多的公 司和组织的需求都很相似的时候,我们发现了 Doug Cutting(开源项目 Nutch 和 Lucene 的开创者)的工作,于是我们邀请他加入 Yahoo,在新的开源项目 Hadoop 上继续工作。

Zawodny 去年一直工作于提供数据排序的基准评测,在测试中,每一个节点都对相同总和的输入数量进行排序。 假如有 20 个节点,每个节点有 100 条记录,那么就有 2000 个记录需要排序;当有 100 个节点时,每个节点有 100 条记录,那就总共有 10000 条记 录。下面是最近的评测结果:

日期

节点数

耗时(小时)

四月 2006 188 47.9
五月 2006 500 42.0
十一月 2006 20 1.8
十一月 2006 100 3.3
十一月 2006 500 5.2
十一月 2006 900 7.8
七月

2007 20 1.2
七月 2007 100 1.3
七月 2007 500 2.0
七月 2007 900 2.5

Tim O'Reilly找出了 Zawodny 所发的帖子,并从中发现了来自于 Yahoo 的高层支持:

……Yahoo! 已经在一月聘用了 Hadoop 的创始人 Doug Cutting,但Doug 在开源大会上的谈论 ,更像是 Hadoop 的发布会,Yahoo! 也想以此表明 Hadoop 项目对他们来讲有多么重要。实际上,我还接到 David Filo 打来的电话,他想确认我是否知道这种支持来自于高层……

…… 为什么 Yahoo! 的参与这么重要?首先,这预示一个搜索界第二大的公司认识到开源是在 Web 2.0 上与一个占统治地位的对手进行竞争的强大武器……支持 Hadoop 和其它 Apache 项目不仅仅只是让 Yahoo 深入到他们可以使用的开源软件项目 中,更会帮助他们恢复在极客(geek)心中的形象……其次,或是同样重要的是,Yahoo! 给了 Hadoop 一个机会进行规模方面的测试……

John Munsh 用一句话总结了 Yahoo 的参与:“Hadoop 和‘非我发明症(Not-Invented-Here Syndrome)’之反例”。(译者注:John Munsh 在这里用“非我发明症”来指 Microsoft 那种不愿意接受任何协议,标准,或是其他公司开发的软件的态度。它认为不是自己创造的东西就是不 值得信任的。而 Yahoo! 却基于竞争对手 Google 的 MapReduce 来构造自己的应用,所以这里说是“非我发明症”之反例。)

微软的 Sriram Krishnan 则从那些 转到类似Hadoop 和 Amazon EC2这种针对大规模应用并在不断发展的解决方案的创业者和开发人员所面对的问题的角度,对 Hadoop 提出了反对意见:

Web 2.0 的主要价值来自于由众多用户生成的数据,如 del.ico.us、Digg、Facebook……它已经超越了任何个人运行大规模的服务器软件的商 业意义,如 Gmail、Google Search、Live、Y! Search……放荡不羁的极客们根本就不会去碰那些大规模 blob 存储(S3,Google 文件系统),大规模结构化存储 (Google 的 Bigtable),还有在这种微架构之上运行代码的工具(MapReduct,Dryad)等等……我也不知道 Doug Cutting 的这种类似的开源产物在这条路上已经走了多远——也许这就是答案吧……

查看英文原文Open Source Google-Like Infrastructure Project Hadoop Gains Momentum
JavaDevOps语言 & 开发架构