更新时间:2022-02-22 GMT+08:00

MapReduce任务长时间无进展

问题

MapReduce任务长时间无进展。

回答

一般是因为内存太少导致的。当内存较小时,任务中拷贝map输出的时间将显著增加。

为了减少等待时间,您可以适当增加堆内存空间。

任务的配置可根据mapper的数量和各mapper的数据大小来进行优化。根据输入数据的大小,优化如下参数:

  • “mapreduce.reduce.memory.mb”
  • “mapreduce.reduce.java.opts”

例如:如果10个mapper的数据大小为5GB,那么理想的堆内存是1.5GB。随着数据大小的增加而增加堆内存大小。