hadoop - 亚马逊电子病历 : Set unique number of mappers and reducers per EMR instance

标签 hadoop configuration mapreduce amazon-emr

我正在运行一个具有 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

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

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

最佳答案

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

请注意,您可能需要尝试使用 sshing 进入您的任务节点。它不会像那样工作。

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

对该 pem 文件执行 chmod 400

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

如博客中所述 请注意,我还没有尝试过,但我相信它会奏效。 此外 - .versions... 可能不需要这些东西。您可能只需要 conf。

谢谢

关于hadoop - 亚马逊电子病历 : Set unique number of mappers and reducers per EMR instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141152/

相关文章:

hadoop - mapreduce ---自定义数据类型

python - 独立脚本的python babel映射配置文件应该放在哪里或命名?

java - 如何动态配置应用参数

hadoop - 如何定期在Hadoop上分析数据

在 2 节点集群中使用压缩时 Hadoop 映射任务失败。但是当作为单个节点运行时,两个节点都工作正常

c# - 无法在 app.exe.config 中保存设置

java - 根据用户数据获取偏好

windows - hadoop 3.3.0应该使用哪个版本的sqoop?

hadoop - 没有hadoop sqoop能跑吗?

shell - 如何在没有 Ambari 的情况下找到 Hadoop 上最后一天消耗的 CPU