弹性MapReduce最大化应用技巧

日期: 2010-11-01 作者:George Lawton翻译:张培颖 来源:TechTarget中国 英文

MapReduce是由谷歌倡导的一项技术,旨在商品硬件群集的分布式应用。它之所以有这么大的吸引力是因为其处理大量日志文件的能力。MapReduce的Hadoop实现,过去常常用来处理数据字节。研究人员认为它也为分析模型编程承诺提供新的范式。

MapReduce应用常用作web索引、数据挖掘、日志文件分析、金融分析、科学模拟和生物信息研究。   亚马逊弹性MapReduce(Amazon Elastic MapReduce)服务是在AWS平台之上的Hadoop实现。它用来简化新的MapReduce应用,从而让这项技术拥有更加广大的受众。弹性MapReduce让更多人使用单击界面参与、监控并控制Ha……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

MapReduce是由谷歌倡导的一项技术,旨在商品硬件群集的分布式应用。它之所以有这么大的吸引力是因为其处理大量日志文件的能力。MapReduce的Hadoop实现,过去常常用来处理数据字节。研究人员认为它也为分析模型编程承诺提供新的范式。MapReduce应用常用作web索引、数据挖掘、日志文件分析、金融分析、科学模拟和生物信息研究。

  亚马逊弹性MapReduce(Amazon Elastic MapReduce)服务是在AWS平台之上的Hadoop实现。它用来简化新的MapReduce应用,从而让这项技术拥有更加广大的受众。弹性MapReduce让更多人使用单击界面参与、监控并控制Hadoop项目。

  一个MapReduce实例由一个单一的主结点和多个用于执行映射和简化算法的从属结点组成。有两种类型的从属结点。核心结点用于管理分布式文件系统中的数据。任务结点执行过程。

  亚马逊最近在运行中的弹性MapReduce实例中添加了调整服务器数量的能力。一旦流程已经开始,你可以增加核心结点数目,但不能减少。你可以动态地增加或者按需减少任务结点的数目。

  工作流的改变可以通过弹性MapReduce界面、命令行或者Java SDK完成。例如在应用中预先定制的工作流可能减少任务结点的数目,通过更低的处理需求将应用转到不同的任务中。这些相同的工具在失败的时候,也可以用于启动新的从属结点。

  规划MapReduce工作流

  开发人员可以通过命令行工具、API或者AWS管理控制台用弹性MapReduce进行交互。API和命令行工具允许最大的自动化和细粒度控制。这些可以用来创建具体工作流或者监控步骤。Web控制台能很好地监视一个工作的流程或者开始一个工作或者从一个web浏览器停止一个工作流。

  现在有各种工具都可以调试新的MapReduce实例。调试工作流窗口可以通过AWS管理控制台进行访问。可以用来跟踪流程并确定问题。你也可以远程登录AWS服务器,并使用最喜欢的命令行调试器来分析工作流。在开发阶段,当你通过AWS管理控制台创建新的工作流时,你可以通过设置“开始调试”从而进行调试。在命令行模式,在工作流创建的时候输入“--enable-debugging and --log-uri”。

  MapReduce最大的挑战之一是对于遗留代码和程序设计方法论支持有限。Amund Tviet表示开发者可以在Python之上使用Boto,用其他web服务简化弹性MapReduce。他表示这种集成方式为并列遗留代码产开朗新的大门。

  新的MapReduce实例启动很慢,Joel Duffin提到。这会大大降低EC2运行。在开发周期上,当新的实例在心出现,这就可以节省时间。为了避免启动时间,通过添加下列字符可以保持EC运行:elastic-mapreduce -create -alive -log-uri s3://my-example-bucket/logs。

翻译

张培颖
张培颖

云计算网站编辑

相关推荐