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。

其实感觉就算不调整第一个参数,单纯为后边三个参数设置更小的值,错误应该也会得到解决,不过这个我没试。

posted @ 2018-08-25 14:45  张不正  阅读(943)  评论(0编辑  收藏  举报
返回顶部