为什么Hadoop map reduce作业中允许的计数器数量有限制?

时间:2012-06-27 19:05:16

标签: hadoop mapreduce counter

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

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

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

我正在使用hadoop 0.20.2

2 个答案:

答案 0 :(得分:4)

请参阅this post中的计数器部分。

  

计数器

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

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

答案 1 :(得分:-1)

  

以防您想要增加最大数量的计数器。

最后我看到了代码,代码的最大数量已在代码中进行了硬编码,并且不可配置。请查看blog entry我已经写了一些时间以获取更多详细信息,并通过latest code检查是否已将其修改为可配置。