在编写mapreduce程序时,经常会出现程序卡住,最后报OutOfMemoryError: Java heap space的错误。
是因为mapreduce的mapper,reducer的默认对内存大小是200m,可以通过
conf.set("mapreduce.admin.map.child.java.opts", "-Xmx512m");或者
conf.set("mapred.map.child.java.opts", "-Xmx512m");设置mapper阶段的堆内存大小
conf.set("mapreduce.admin.reduce.child.java.opts", "-Xmx512m");或者
conf.set("mapred.reduce.child.java.opts", "-Xmx512m");设置reducer阶段的堆内存大小