我正在运行一个hadoop工作(来自oozie),它有很少的计数器和多输出。
我得到的错误如下: org.apache.hadoop.mapreduce.counters.LimitExceededException:计数器太多:121 max = 120
然后我删除了所有具有计数器的代码,并将mout.setCountersEnabled设置为false。 并且还在hadoop配置中将最大计数器设置为240。
现在我仍然得到同样的错误 org.apache.hadoop.mapreduce.counters.LimitExceededException:计数器太多:241 max = 240
我该如何解决这个问题? 是否存在任何隐藏计数器的可能性? 我怎样才能弄清楚那里的柜台超过240? (在我可以打印任何内容之前,这个过程看起来已经停止了吗?)
谢谢, 莘松
答案 0 :(得分:3)
我使用以下方法解决了问题: vi $ HADOOP_HOME / conf / mapred-site.xml
<property>
<name>mapreduce.job.counters.limit</name>
<!--<value>120</value>-->
<value>20000</value>
<description>Limit on the number of counters allowed per job. The default value is 200.</description>
</property>
答案 1 :(得分:0)
我明白了。这是因为多输出,默认情况下每个多输出都有一个计数器。我的更改后有更多的多输出,因此它会超出错误。