【问题标题】:It is possible use AutoScaling with Elastic Mapreduce?可以将 AutoScaling 与 Elastic Mapreduce 一起使用吗?
【发布时间】:2015-04-24 22:02:49
【问题描述】:

我想知道我是否可以使用 AutoScaling 来根据 cpu 利用率和弹性映射减少自动扩展或缩减 Amazon Ec2 容量。

例如,我启动一个只有 1 个实例的 mapreduce 作业,但如果此实例达到 50% 的利用率,例如我想使用创建的 AutoScaling 组来启动一个新实例。这可能吗?

你知道这是否可能吗?还是弹性mapreduce,因为它是“弹性的”,如果它需要自动启动更多实例而无需任何配置?

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    你需要曲博乐:http://www.qubole.com/blog/product/industrys-first-auto-scaling-hadoop-clusters/

    我们从未见过任何用户/客户通过 Hadoop 成功使用 vanilla 自动扩展。 Hadoop 是有状态的。节点保存 HDFS 数据和中间输出。基于 cpu/memory 删除节点是行不通的。添加节点需要复杂性——这不是一个网站。需要查看提交的作业的大小以及它们完成的速度。

    我们(为我们的客户)在 AWS 上轻松运行最大的 Hadoop 集群。他们一直在自动缩放。他们使用现场实例。它的成本与 EMR 相同。

    【讨论】:

      【解决方案2】:

      不,Auto Scaling 不能与 Amazon Elastic MapReduce (EMR) 一起使用。

      可以通过 API 或命令行调用扩展 EMR,添加和删除任务节点(不托管 HDFS 存储)。请注意,无法删除核心节点(因为它们托管 HDFS 存储,删除节点可能会导致数据丢失)。事实上,这是 Core 和 Task 节点之间的唯一区别。

      还可以在 EMR“步骤”内更改节点数。步骤是按顺序执行的,因此可以在需要大量处理的步骤之前使集群变大,并且可以在后续步骤中减小大小。

      来自EMR Developer Guide

      每个集群步骤可以有不同数量的从节点。您还可以向正在运行的集群添加一个步骤来修改从节点的数量。由于默认情况下保证所有步骤都按顺序运行,因此您可以为任何步骤指定运行从节点的数量。

      CPU 不是衡量 EMR 集群扩展的良好指标,因为 Hadoop 会在作业运行时使所有节点尽可能忙碌。更好的衡量标准是等待的作业数量,以便它们可以更快地完成。

      另见:

      【讨论】:

      • 感谢您的详细解答!
      猜你喜欢
      • 2014-09-08
      • 2018-07-21
      • 1970-01-01
      • 2012-06-22
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2020-08-04
      相关资源
      最近更新 更多