在hadoop有超过120个柜台

siz*_*rld 7 counter hadoop limit

Hadoop计数器大小有限制.它默认为120.我尝试使用配置"mapreduce.job.counters.limit"来改变它,但它不起作用.我见过源代码.这就像"org.apache.hadoop.mapred.Counters"类中的JobConf实例是私有的.以前有人见过吗?你的解决方案是什么?谢谢 :)

Lor*_*dig 6

您可以在mapred-site.xmlJT,TT,客户端节点上覆盖该属性,但要确保这是一个系统范围的修改:

<configuration>
  ...
  <property>
    <name>mapreduce.job.counters.limit</name>
    <value>500</value>
  </property>
  ...
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后在群集上重新启动mapreduce服务.


Dim*_*ima 6

在 Hadoop 2 中,这个配置参数被称为

mapreduce.job.counters.max
Run Code Online (Sandbox Code Playgroud)

但是,在命令行或配置对象中设置它是不够的。您需要调用静态方法

org.apache.hadoop.mapreduce.counters.Limits.init()

在映射器或减速器的 setup() 方法中使设置生效。

使用 2.6.0 和 2.7.1 进行测试。