AWS上的EMR与EC2 / Hadoop

时间:2013-10-02 03:15:39

标签: hadoop amazon-web-services amazon-ec2 emr

我知道EC2更灵活,但对EMR的工作更多。但是,就成本而言,如果使用EC2,则可能需要将EBS卷连接到EC2实例,而AWS只需从S3流入数据。所以在AWS计算器上处理这些数字,即使EMR也必须支付EC2,EMR也比EC2便宜?我错了吗? 当然EC2与EBS可能更快,但它是否值得花费?

感谢, 马特

2 个答案:

答案 0 :(得分:5)

EMR为您做了很多事情,您在EC2上的标准Hadoop上找不到。一些特别重要的包括

  • 将Hadoop日志从您的计算机复制到S3。这对于在群集关闭后调试错误非常有用。
  • 运行多个MapReduce,Pig或Hive作业的作业流程
  • 根据您选择的硬件大小设置合理的配置默认值
  • 访问更便宜的计算的点实例
  • 能够动态调整群集的大小

您还会发现EMR S3文件系统比Apache Hadoop打包的标准文件系统更快,更可靠。它支持Multipart上传,并且直接将数据流写入S3而不是首先缓冲到磁盘。有关详细信息,请参阅Tip #5

此外,如果您决定直接使用EC2,我建议您为节点使用实例存储而不是EBS。没有理由为Hadoop支付EBS的额外费用;您会注意到EMR集群也都在实例存储节点上运行。

答案 1 :(得分:2)

您是正确的,EMR使用实例存储支持的EC2实例,而不是EBS。但是,没有什么可以阻止您创建基于实例存储的实例,打包AMI并将其用于Hadoop集群。使用EBS也可能不会产生很多额外成本,具体取决于您的工作量和频率。此外,通过EMR使用EC2实例会增加成本。

我已经使用EMR两年了,我强烈推荐这项服务,因为您不需要花时间管理和更新您的发行版。如果您的工作负载与EMR兼容(从DynamoDB或S3获取数据),我会选择EMR而不是EC2 / Hadoop。