Amazon EMR:为每个 EMR 实例设置唯一数量的映射器和缩减器

Posted

技术标签:

【中文标题】Amazon EMR:为每个 EMR 实例设置唯一数量的映射器和缩减器【英文标题】:Amazon EMR: Set unique number of mappers and reducers per EMR instance 【发布时间】:2012-06-21 15:08:23 【问题描述】:

我正在运行一个包含 M 个核心实例和 N 个任务实例的 Amazon EMR 集群。

我的作业每天运行多次并且对时间很敏感,因此我保持 M 核心实例 24/7 不间断运行,这样我就不会在 S3 之间进行数据传输开销。

N 个任务节点正在根据需要动态启动和终止。

M个核心节点是c1.mediums,N个任务节点是m2.xlarge。

有没有办法为每个实例配置 mapred.tasktracker.map.tasks.maximum 和 mapred.tasktracker.reduce.tasks.maximum?

对于我想要的核心节点: mapred.tasktracker.map.tasks.maximum=2 mapred.tasktracker.reduce.tasks.maximum=1

对于我至少想要的任务节点: mapred.tasktracker.map.tasks.maximum=2 mapred.tasktracker.reduce.tasks.maximum=2

请注意,任务跟踪器也在核心节点上运行,因此我认为此配置需要基于每个实例,具体取决于实例大小。

这可能吗?如果是这样,我该如何设置这种类型的配置?

【问题讨论】:

【参考方案1】:

这里有一个很棒的博客 - 它可以为您提供答案。 http://blog.earlh.com/index.php/2013/05/modifying-the-number-of-mappers-or-reducers-on-a-running-emr-cluster/

请注意,您可能需要在任务节点中使用 ssh 进行一些操作。它不会像那样工作。

我会将我的 pem 文件放到本地目录中。

在那个 pem 文件上 chmod 400

然后执行“scp -l hadoop -i .pem 然后其余的”

如博客中所述 请注意,我还没有尝试过,但我相信它会起作用。 另外 - .versions... 的东西可能不需要。你可能只需要conf。

谢谢

【讨论】:

链接已失效 :-(

以上是关于Amazon EMR:为每个 EMR 实例设置唯一数量的映射器和缩减器的主要内容,如果未能解决你的问题,请参考以下文章

Amazon EMR 服务与 EMR 集群

如何将文件从 S3 复制到 Amazon EMR HDFS?

如何估算 Amazon EMR 中的实例数量?

在 Amazon EMR 上运行 mrjob,不支持 t2.micro

Amazon EMR - 从设备上的 Yum 更新引导操作失败

AWS EMR 并行映射器?