【问题标题】:Amazon EC2 vs. Amazon EMR [closed]Amazon EC2 与 Amazon EMR [关闭]
【发布时间】:2012-04-23 09:57:36
【问题描述】:

我在 Hive 中实现了一项任务。目前它在我的单节点集群上运行良好。 现在我打算在 AWS 上部署它。

我对 AWS 一无所知。如果我打算部署它,我应该选择 Amazon EC2 还是 Amazon EMR?

我想提高我的任务的性能。哪一个对我来说更好更可靠?如何接近他们?我听说我们也可以像在 AWS 上一样注册我们的 VM 设置。有可能吗?

请尽快给我建议。

非常感谢。

【问题讨论】:

  • 这不是系统管理员问题而不是编程问题吗...?
  • 从问题末尾的“尽快”猜测,也许您应该尝试将问题通过电子邮件发送给您公司的平台支持团队;)

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


【解决方案1】:

我建议您不要尝试部署自己的 Hadoop 集群,除非您有 2-3 个月的空闲时间,并且手边有一位 hadoop 专家。

Elastic MapReduce 将通过提供预配置的 hadoop 环境让您快速入门。看你只有一份工作,应该没问题。

【讨论】:

  • 没关系。在我的用例中,我想使用 SQOOP 从 MS SQL Server 导入数据。我使用 Hive JDBC 为它创建了一个作业来处理它。但我在 MSSQL-SERVER 中有大量数据(接近 GB)。如果我必须每天/每周运行这项工作,那么每天/每周从 SQL-SERVER 导入是否有效。如果我想解决这个问题并将这些数据存储在 S3 中,那么我该如何在 HDFS 和 S3 之间建立链接。 (因为 Hive 表的数据存储在 HDFS 的 /user/hive/warehouse 目录下)。
【解决方案2】:

EMR 是安装和配置了 Hadoop(以及可选的 Hive 和/或 Pig)的 EC2 实例的集合。如果您使用集群来运行 Hadoop/Hive/Pig 作业,那么 EMR 是您的最佳选择。与 EC2 实例相比,EMR 实例的成本要高一些。今天对亚马逊价格的快速检查显示,小型 EC2 实例的成本为 0.08 美元/小时,而小型 EMR 实例的成本为 0.015 美元/小时。 在我看来,为自己省去安装和设置 Hadoop(以及 Hive 和 Pig)、创建和维护以及 AMI 和使用它的麻烦,完全值得支付额外的钱。此外,EMR 的 Hadoop 和 Hive 版本有一些补丁在 Apache Hive 上不可用(至少目前还没有)。如果您使用 EC2,您可能会使用 Apache Hadoop 和 Hive(或者可能是 cloudera 发行版)并且无法访问这些补丁(例如对 S3 的本机支持或像 ALTER TABLE my_table RECOVER PARTITIONS 这样的命令@

参考资料:

【讨论】:

【解决方案3】:

一般来说,从历史上看,EMR 远远落后于最新版本的 Hadoop 组件,而且有些组件完全丢失了。这是使用另一个发行版的主要原因。例如,如果您想要 HBase,它不在 EMR 中,但不是。今天,EMR 中没有 Spark。 EMR 通常会滞后。

也就是说,如果您没有使用最新最好的功能,请使用 EMR。

【讨论】: