当我尝试处理大文件(如大小>35gb的文件)时,我看到了以下错误,但当我尝试较小的文件(如大小<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
1条答案
按热度按时间bpsygsoo1#
增加减速器平行度。可以通过设置mapreduce.job.reduces配置属性来完成。如果您是这样运行java应用程序:
在Hive中,可以使用
hive.exec.reducers.bytes.per.reducer
财产。您还可以尝试增加容器java堆的大小,请阅读以下内容