1

失敗したマップ タスクの syslog にこの例外が表示されます。特定のジョブのすべてのマップ タスクでこのエラーが発生しています。

ここでの原因についての推測は、これは私の目には奇妙に見えるスタック トレースです。

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>
4

1 に答える 1

2

DelegationMapper.java のソースを見ると、どういうわけか DelegationMapper を実際の Mapper クラスに設定していると思われます。その結果、実行を自分自身に無限に委譲します。

于 2013-01-02T08:41:04.800 に答える