0

我有几个在 EMR 上运行的 hadoop 作业。其中一些作业需要处理日志文件。日志文件很大,每个 .gz 格式约 3GB。日志存储在 S3 上。

目前,我使用 m1.xlarge 进行处理,仅将日志文件从 S3 复制到 HDFS 大约需要 3 个小时。在这里,瓶颈是从 S3 读取还是写入 HDFS?

我的计划是使用基于新 SSD 的 hi1.4xlarge,因为它具有快速 I/O,而不是 m1.xlarge。但它有助于降低成本吗?

但是hi1.4xlarge的成本要比m1.xlarge高很多。

m1.xlarge - 8 个 EC2 计算单元 @ 每个 0.614$ = 4.912 $ /小时 h1.4xlarge - 35 个 EC2 计算单元 @ 每个 3.1$ = 108.5 $ /小时

价格涨幅约为 23 倍。我会得到这么多的性能提升吗?考虑我的 hadoop 工作是高 I/O 限制。

我无法通过启动 hi1.4xlarge 实例自己测试它,所以在 StackOverflow 上询问它。有没有人有比较这两种实例类型的基准?谷歌没有帮助。

问候。

4

1 回答 1

1
  1. 我不认为 SSD 实例是好的选择,因为它们的价值在于高随机 IO,而在 Hadoop 中我们需要顺序 IO。
  2. 在从 s3 复制到 HDFS 期间,s3 几乎可以肯定是一个瓶颈。
  3. 为了省钱,我建议尝试较小的实例来平衡 IO 和 CPU
  4. 您是否使用 DISTCP 将数据从 s3 复制到 HDFS(只是为了检查...)
  5. 如果您在每个集群生命周期处理一次日志 - 您可以直接从 s3 处理并避免复制到 HDFS。
于 2012-10-11T12:01:16.517 回答