【问题标题】:Getting the number of reduce tasks operating at the moment获取当前运行的 reduce 任务的数量
【发布时间】:2013-05-24 18:23:28
【问题描述】:

我正在使用 Amazon AWS、Dynamo DB 和 EMR 集群进行 hadoop 流式传输。我的 reduce 任务写入 Dynamo 表。我需要建立并遵守写入表的上限,例如写入吞吐量的 50%。

我可以查询表的写入吞吐量设置,除以 mapred.reduce.tasks,然后乘以 50% 以获得每个任务对表的写入吞吐量的下限。更好的是,我想查询 目前 正在处理的 reduce 任务的数量,以获得每个 reduce 任务的准确写入吞吐量上限,但我不知道如何获得该数字。我在 jobtracker 中看到了它,它显示了任务总数、待处理任务和正在处理的任务。

一种不太灵活的替代方法是使用 hadoop 流参数“-numReduceTasks”设置任务数。

【问题讨论】:

    标签: hadoop amazon-web-services mapreduce amazon-dynamodb hadoop-streaming


    【解决方案1】:

    您应该按照here 的描述使用JobTracker API。

    特别是,您有兴趣调用getClusterStatus,这将返回一个ClusterStatus 对象详细信息here。从那时起,只需调用getReduceTasks 即可获得集群中当前正在运行的reduce 任务的数量。

    您也可以使用getClusterMetrics 方法获取类似信息。

    【讨论】:

      猜你喜欢
      • 2015-02-28
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 2011-10-16
      • 2018-11-27
      • 2019-12-29
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多