我在失败的Map任务的系统日志中看到了这个异常,特定作业中的所有Map任务都遇到了这个错误。
任何猜测的原因在这里,这是一个奇怪的堆栈跟踪到我的眼睛。
2012-12-29 10:37:37,975 FATAL org.apache.hadoop.mapred.Child (main): Error running child : java.lang.StackOverflowError
at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:80)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.setup(DelegatingMapper.java:46)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:54)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
<1014 duplicate lines cut>
1条答案
按热度按时间xzabzqsa1#
查看delegationmapper.java的源代码,我可以怀疑您以某种方式将delegationmapper设置为实际的Map器类。结果-它无限地委托自己运行。