ShuffleError:error in shuffle in fetcher解决办法

  • Post author:
  • Post category:其他


今天在跑一个hive任务的时候,遇到了这个错误,很明显这个错误是在

shuffle阶段

出现了问题,报错为

java.lang.OutOfMemoryError:java heap space

从网上找到了解决办法,这里记录一下:


异常原因



很可能是因为数据倾斜导致的栈溢出。


在shuffle阶段,会将map的output数据给取下来,然后根据设定的参数决定是放进内存中,还是存储到磁盘里面进行操作。而mapreduce.reduce.shuffle.memory.limit.percent这个参数默认值是0.25,代表单个shuffle能够消耗的内存占reduce所有内存的比例。所以将这个参数进行调小操作,那么单个shuffle能够消耗的内存就没办法满足将数据进行处理,就会使用磁盘来慢慢操作。


解决办法

:在跑批脚本中加入

set mapreduce.reduce.shuffle.memory.limit.percent=0.10;

原文链接:

https://blog.csdn.net/u013084266/article/details/80764047



版权声明:本文为laozaoxiaowanzi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。