2012-03-30 81 views
3

我已经使用ElasticMapReduce一段时间了。这很方便,但我无法运行HBase,因为Hadoop集群只是暂时可用(我在HBase and Hadoop问了一些相关的问题)。EC2上的Hadoop与ElasticMapReduce/S3

所以我想尝试在一组EC2机器上安装Hadoop。我知道Hadoop有一些与EC2相关的目录 - src/contrib/ec2。看起来Hadoop集群可以简单地通过输入命令启动,我可以登录到主节点以运行作业等等。在尝试这个之前,我想知道一直使用它的ppl的一些细节。谢谢!

+0

好问题,很想看到一些答案。我知道Elastic MapReduce使用S3作为存储平台,所以它通常比EC2上的Hadoop效率低,因为它不能像使用HDFS(s3在不同系统上运行)那样使用数据区域优化。 – Christophe 2012-03-30 19:31:17

回答

0

实际上,在亚马逊上使用hadoop有两种选择 - 为您提供自己的集群或usint EMR。正交于此决定,您可以使用HDFS或S3作为您的文件系统。 这不是一个简短的故事,但我会尝试提高所有这些选择的优点/缺点。
如果您需要每天运行单个/几个作业,并且始终不需要hadoop群集,则可以使用EMR。在这种情况下,您可以将数据放入s3中,并且可以完整编写该过程的脚本。主要缺点 - 定制并不容易,使用第三方库等。在这种情况下,您还可以节省安装群集的时间。 如果你想调整hadoop - 你应该安装你自己的集群。
当您的数据已经在s3中或您需要在处理后存储它 - s3是一个不错的选择。在同一时间 - 使用HDFS后性能可能会降低。必须说明的是,亚马逊实例的本地存储非常少 - 因此它非常昂贵,您应该保持群集运行(并支付)以保持此存储。
我会告诉你,如果你确实需要HDFS的所有throuput,你确实需要在自己的硬件上拥有自己的集群。在亚马逊上工作时 - 使用S3作为文件系统是最实际的。