无障碍说明
腾讯科技科技 > 要闻 > IT业界 > 正文

六年前的一通电话如何改变了大数据面貌

腾讯科技[微博]瑞雪2013年07月03日09:44

[导读]Hadoop开源式平台打开了分布式计算和大数据处理的大门。

六年前的一通电话如何改变了大数据面貌

大数据分析服务公司Hortonworks架构师阿伦·穆尔蒂(腾讯科技配图)

腾讯科技讯(瑞雪)北京时间7月3日消息,《连线》杂志网络版近日刊载文章,回顾了2007年的一通电话是如何改变了大数据面貌的。以下是这篇文章的全文。

凌晨三点钟,一通电话将阿伦·穆尔蒂(Arun C. Murthy)从美梦中惊醒。穆尔蒂是雅虎的一名工程师,他接到的这通电话的内容是雅虎的一个精准定位广告应用的运行速度极慢。最后穆尔蒂发现,罪魁祸首是一条软件代码,这条代码嵌入了开源数据运算平台Hadoop。这条代码是别人写的,但修复这个应用是穆尔蒂的工作。

对于当时的穆尔蒂来说,这无疑是件麻烦事儿;但在多年以后,这通电话将为Hadoop带来一条全新的道路,这个软件系统实际上已经变得与“大数据”这个概念同义。

时至今日,Hadoop正在为Facebook、Twitter、eBay、雅虎及其他很多公司提供支持。但把时钟拨回到2007年穆尔蒂接到那通凌晨打来的电话时,一切都还很模糊。在那时的一年以前,道格·卡丁(Doug Cutting)和迈克尔·卡法雷拉(Michael Cafarella)以两人自己的名字创造了这个平台,其灵感来自于谷歌(微博)在2004年发布的白皮书。后来雅虎也支持这个项目,聘用卡丁为公司正式员工。雅虎搜索架构师埃里克·巴尔德施维勒(Eric Baldeschwieler)曾要求穆尔蒂致力于开发Hadoop平台,原因是他在系统软件——例如操作系统及其他低级别的软件组件——和开源两方面都有过相关经验。

“我跟Hadoop有关的旅程几乎从来都没有发生过。”穆尔蒂回忆道。“我看着它说道:‘到底是哪个混蛋用Java语言写的这个系统软件?’”但无论如何,他还是加入了开发Hadoop平台的行列。在2007年的那个晚上,他为这个决定而不停诅咒自己。“到底为什么我要测试其他人写的Hadoop代码并为其纠错呢?”他自问道。然后他又意识到,实际上他面临着一个更大的问题:他正在处理的应用根本就不是为了在Hadoop平台上运行而开发的。

Hadoop实际上是两个软件平台的组合:一个是名为“Hadoop分布式文件系统”(Hadoop Distributed File System,HDFS)的存储系统,另一个则是名为“MapReduce”的处理系统。用户可以向存储系统注入海量数据,而这个系统可以分布在数十台、数百台甚至是数千台服务器之间。然后,用户可以使用MapReduce来在群组中把一个比较大的问题分解成若干个较小的问题。这就是Hadoop的力量:用户可以使用很多低价低廉的商品服务器而非少数价格高昂的超级计算机,从而可以省下不少钱。

问题在于,有些时候开发者只希望从那些群组的一个群组中抽出一些数据,而无需运行MapReduce系统。雅虎的广告定位系统就是这种情况,这种认识给穆尔蒂带来了最初的一个模糊概念,即Hadoop需要另一个系统。他首先找到了一种应急的办法解决了手头的问题,然后开始考虑如何解决更大的问题,他甚至还在Hadoop的故障追踪系统中写下了相关的事情。但从2008年到2010年之间,Hadoop团队决定把重点放在让Hadoop变得更能“为企业做好准备”的问题上,具体方法是提高这个平台的安全性和稳定性。其他的许多系统——例如Pig和Hive等——被创造出来,目的是让用户无需进行MapReduce编程工作即可在Hadoop平台上进行查询工作,但仍旧需要MapReduce系统才能运行,只不过是查询被转换为MapReduce编程工作而已。

到2010年中期,Hadoop团队认为这个系统已经变得足够好,以至于可以开始进行下一步的演进。因此,穆尔蒂和来自Hadoop社区的开发者终于能开始着手解决他在多年以前碰到的问题。他们的工作成果将被加入到Hadoop 2.0平台,这个平台添加了一个名为“YARN”的新组件。YARN是基于Hadoop分布式文件系统的一个系统,允许开发者创造能与Hadoop分布式文件系统进行互动、同时又不需要经由MapReduce路径。事实上,MapReduce本身会使用YARN。“Hadoop 2.0并不是一个任意数。”穆尔蒂说道,他在2011年联合创建了基于Hadoop框架提供大数据服务的Hortonworks公司,这家公司是雅虎与硅谷风险投资公司Benchmark Capital合资组建的。“这是Hadoop的第二个架构。”

自穆尔蒂在2007年首次认识到有必要添加YARN组件以来,许多新的软件系统都已被创造出来,以便为Hadoop平台提供补充。Twitter使用的是Storm,这是一个用于实时处理数据的系统;雅虎则在最近收开始使用Spark,这是一个Hadoop风格的分布式系统。Hortonworks的主要竞争对手之一Cloudera则构建了实时查询开源项目Impala,这个项目大幅提高了Hadoop查询的速度。

时至今日,这些类型的系统必须要么利用MapReduce来与在Hadoop群组中存储的数据进行互动,要么必须开发自己的解决方案来绕过MapReduce。但穆尔蒂表示,所有这些项目都将可使用YARN与Hadoop进行互动,前提是其开发者希望如此,这将令Hadoop和大数据工具的生态系统变得更加有用。

举例来说,IT监控公司Nodeable则在Storm和Hadoop之间创造了StreamReduce,这家公司已在去年被移动平台开发供应商Appcelerator收购。“(YARN)是我们将在近期进行评估的软件,用来填补批量处理和实时处理之间的差距。”Appcelerator工程副总裁马克·格里芬(Mark Griffin)说道。

Spark在Hadoop分布式文件系统上运行,但抛弃了MapReduce,偏离了正式Hadoop项目的轨道,但YARN允许两者联系到一起。“如果你只想要一种简单的部署,那么在没有YARN的情况下运行Spark是可能做到的,但我们还想要为那些将要进行安装的用户提供YARN支持。”加利福尼亚大学伯克利分校的Spark开发者之一Matei Zaharia解释道。

官方的Hadoop 2.0开源项目正处于开端阶段,预计很快就将推出测试版。这个项目还将需要一段时间才能进入市场,但当它进入市场时,将会带来很大的不同,而所有这一切都要感谢2007年凌晨三点的那通电话。

[责任编辑:samxiao]
您认为这篇文章与"新一网(08008.HK)"相关度高吗?
标签
大数据

阅读更多

网友评论

热门评论

最新评论