gpt4 book ai didi

apache - Hadoop/map-reduce : Total time spent by all maps in occupied slots vs. 所有 map task 花费的总时间

转载 作者:可可西里 更新时间:2023-11-01 14:44:41 25 4
gpt4 key购买 nike

背景:我正在分析 AWS Hadoop 作业在各种集群配置上的性能,一些 Hadoop 计数器令人困惑。

问题:“所有 map 在占用槽中花费的总时间”和“所有 map task 花费的总时间”有什么区别? (减少相同的问题)。为简单起见,我们称这些计数器为 mapO、mapT、redO 和 redT。这是我在三种不同的配置中看到的(每种配置都有不同数量的核心/从节点):

1) 对于 AWS/EMR 作业 (Hadoop 2.4.0-amzn-3),mapO/mapT 的比率始终为 6.0,redO/redT 的比率始终为 12.0。

2)对于使用实例存储的手动安装的Hadoop(Hadoop 2.4.0.2.1.5.0-695),mapO/mapT 的比率始终为1.0,但redO/redT 的比率有时为1.0,有时为2.0。

3) 对于使用EBS存储手动安装的Hadoop,mapO/mapT的比值始终为1.0,redO/redT的比值始终为2.0。

我假设其他配置会有不同的比率,但这些计数器/计时器实际测量的是什么?

我买了 Tom White 出色的“Hadoop”一书(第 3 版),但没有特别提到 mapO 或 redO 计数器,也没有一般性地提到“已占用的插槽”。

我还进行了大量的 Google 搜索,并在 hadoop.apache.com 上查看了数十个页面。我也在我的 MacBook 上安装(并运行)了 hadoop 并搜索了这些计数器的代码但找不到它(我确定它在那里但是??)。

正如在一个相关的(未回答的)问题中指出的那样,令人惊讶和奇怪的是,即使是对这些基本计数器的基本描述也不容易获得。

最佳答案

在代码中,“所有 map 在占用的插槽中花费的总时间(毫秒)”由 JobCounter.java 中的枚举 SLOTS_MILLIS_MAPS(或 SLOTS_MILLIS_REDUCES)表示。这些常量已弃用。他们通过将任务持续时间乘以用于映射任务的 MB 与一个 yarn slot 所需的最小 MB 的比率来获得他们的数字。

因此,如果您的 map task 使用了 4 MB,并且最小槽大小为 1 MB,那么您的任务花费了 4* 本可以用于其他任务的时间。这可以解释为什么您会看到不同设置的不同比率。我不认为该指标特别有用(特别是因为如果不深入研究代码就不清楚它的含义)。

关于apache - Hadoop/map-reduce : Total time spent by all maps in occupied slots vs. 所有 map task 花费的总时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28861620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com