我在失败的地图任务的系统日志中看到此异常,特定作业中的所有地图任务都遇到此错误。
这里有任何关于原因的猜测,这是一个奇怪的堆栈痕迹到我的眼睛。
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>
答案 0 :(得分:2)
查看DelegationMapper.java的来源我可以怀疑你以某种方式将DelegationMapper设置为你的实际Mapper类。结果 - 它无限地委托自己运行。