- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
雅虎架构师谈MapReduce和Hadoop的未来
雅虎架构师谈MapReduce和Hadoop的未来2008-03-21
关键字: yhaoo, hadoop, mapreduce
Hadoop是一个开源的分布式计算平台,它主要由MapReduce的算法执行和一个分布式的文件系统等两部分组成。InfoQ曾经刊登过一篇Jeremy Zawodny写的有关Hadoop速度提升的综述性文章。这次InfoQ的资深Java编辑Scott Delap和Hadoop项目负责人Doug Cutting进行了一次专访。在这次InfoQ的专访中,Cutting论述了Hadoop是如何在Yahoo中被使用的,以及Hadoop发展中遇到的挑战和Hadoop项目未来的发展方向。
Scott Delap(SD):Hadoop已经作为正式产品服务于Yahoo的某些功能了吗?如果还没有,有什么计划让Hadoop从一个实验性的产品向核心基础组件迁移?
Doug Cutting(DC):Yahoo定期在搜索业务上使用Hadoop来提高其产品和服务,如排名功能和目标广告等。除此之外,也有一些直接使用Hadoop进行数据生成的案例。Hadoop的长期目标是提供世界级的分布式计算工具,也是对下一代业务(如搜索结果分析等)提供支持的Web扩展(web-scale)服务。
SD:Yahoo负责Hadoop项目的团队的规模有多大?除了Yahoo内部人员,其余还有多少活跃的代码贡献者?
DC:Yahoo有一个专项小组直接负责Hadoop的开发工作,而Apache开源项目的活跃贡献者一般都有自己的第一职业。即使如此,仍然有一些非Yahoo工作人员每月、每周甚至每天为Hadoop做出自己的贡献。
SD:相比Google,Yahoo坚持在可扩展的基础架构上采用不同途径。虽然Google已经发布了众多技术方面的论文,但其对普通大众意义并不十分明显。而为什么你觉得开源是正确的一个方向?
DC:开源项目得到最好的运行需要满足两个条件:第一,每个人对项目所能做的事有共同的认识。第二,有一套易理解的文档解决方案。由于基础架构软件在众多领域有广泛应用,所以此类开源软件发展的格外好。而Yahoo就在使用并支撑FreeBsd、Linux、Apache、PHP和MySQL等此类基础架构软件。让任何人都可以利用Hadoop来帮助Yahoo改善现状并提高目前建立大型分布式系统的水平。源代码仅仅只是难题的一小部分,除此之外,一个组织还需要有个非常强大的工程师团队来解决重大难题并使其付诸实践。有正确的发布和管理基础架构的能力也显得非常的重要。目前几乎没有哪家公司能拥有所有这些必需的资源。所以,软件工程师们都愿意为开源项目工作,他们能在巨大的社区中遇到许多志同道合的朋友,学到一些被共享的技巧并应用于今后的其他项目中。这样优秀的社区环境很容易培养出许多新的杰出工程师。Yahoo和Hadoop社区都受益于这种合作的机制,更加懂得大规模的分布式计算所需要的东西,并且把我们专家的意见和技术都共享出来建立一个人人都能使用和修改的解决方案.
SD:回到技术的本身,近年随着Hadoop的不断发展,你觉得影响其速度和稳定性的要素是什么?我发现现在500条记录的排序基准比去年快上了20倍,这是由于某个部分巨大的提升所至还是由多个部分的共同优化所带来的结果?
DC:在处理Web扩展服类软件过程中,随着使用此解决方案的其它公司和组织的不断增加,Yahoo发现它们都获得相似的性能。Yahoo决定将其开源,而非以私有软件的形式继续发展。所以Yahoo雇佣了我来带领这个项目。至今,Yahoo已经贡献了绝大部分代码。
至于速度的提升,是过去几年努力成果的一个总和,并且已经经过了反复的试验。在给定规模的服务器集群中,我们能让系统非常平稳地运行,然后试验在两倍于这样规模的服务器集群中运行会发生什么情况。我们的目标是让性能随集群规模增长成线性增加。我们从这个过程中不断学习,并且再次增大集群的规模。每增大一次集群的规模,更多数量和更多种类的错误也将相应增加,因此稳定性将是个重大问题。
每一次这样做,我们都能明白哪些东西是可以达到的,哪些经验可以贡献给开源的网格计算公共知识库的。随着服务器集群规模的增大,各种新的故障不断产生,罕见的错误变为常见的错误,这些情况都是需要我们解决的。而这个过程所学到的又将影响到我们下一次这样反复的试验。
SD:去年起Hadoop就已经可以在Amazon EC2上运行了。这将使开发者可以快速搭建起他们自己的服务器集群。那么管理这样一个集群、HDFS以及MapReduce的处理还有什么额外的工作需要做吗?
DC:Yahoo有一个名为HOD(Hadoop on Demand)的项目,它可以让Mapreduce运行在很普通的机器上。这还是一个正处于建设过程中的开
文档评论(0)