5

当我尝试以编程方式创建许多作业计数器时,我正在使用 Hadoop map-reduce 并得到了 CountersExceededException。我知道我可以通过配置文件增加允许的计数器数量,但有谁知道:

a) 为什么 map-reduce 计数器有限制

b) 增加 map-reduce 计数器的最大数量是好还是坏?

我正在使用 hadoop 0.20.2

4

2 回答 2

4

请参阅这篇文章中关于计数器的部分。

计数器

计数器代表全局计数器,由 Map/Reduce 框架或应用程序定义。应用程序可以定义任意计数器并在 map 和/或 reduce 方法中更新它们。这些计数器然后由框架全局聚合。

计数器适用于跟踪少数重要的全局信息。它们绝对不是为了聚合应用程序的非常细粒度的统计信息。计数器非常昂贵,因为 JobTracker 必须在整个应用程序期间维护每个 map/reduce 任务的每个计数器。

于 2012-06-27T20:24:36.563 回答
-1

以防万一你想增加计数器的最大数量。

最后我看到了代码,最大数量的计数器已经被硬编码在代码中并且不可配置。请查看我一段时间前写的博客条目以获取更多详细信息,并查看最新代码以检查是否已对其进行修改以使其可配置。

于 2012-06-28T01:19:25.480 回答