当我尝试处理像 size > 35GB 文件这样的大文件时,我看到以下错误,但是当我尝试像 size < 10GB 这样的小文件时不会发生。
App > Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#30
App > at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134)
App > at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:376)
App > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:165)
App > at java.security.AccessController.doPrivileged(Native Method)
App > at javax.security.auth.Subject.doAs(Subject.java:422)
App > at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1635)
App > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:160)
App > Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
这项工作仍然在 qubole 下完成,因为我认为 qubole 重试了 reduce 步骤。
但我想知道是否有这样的设置,我可以完全避免错误,这样减少工作就不必重试。
App > Failed reduce tasks=54