hive sql执行的job在map时报java.lang.OutOfMemoryError的错误
较为详细且重要的一段报错信息是org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space
说一下解决方案,其实这个解决过程完全是摸索着来的。
set mapreduce.map.java.opts=-Xmx1024m
set mapred.max.split.size=100000000;
set mapred.min.split.size.per.node=100000000;
set mapred.min.split.size.per.rack=100000000;
其实就是设置了以上四个参数,先是设置了后面三个参数,发现可以增加map的个数,然后成功的map数也多了,后边就干脆将第一个参数调整为1G。
其实感觉就算不调整第一个参数,单纯为后边三个参数设置更小的值,错误应该也会得到解决,不过这个我没试。
啦啦啦!!!