错误描述:
文体格式:
java.io.IOException: org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested memory < 0, or requested memory > max configured, requestedMemory=1536, maxMemory=1024
代码格式:
java.io.IOException: org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested memory < 0, or requested memory > max configured, requestedMemory=1536, maxMemory=1024
异常截图:
问题原因:
mapreduce默认需要的内存为1536M,目前分配为1024M,分配内存过小导致异常。
问题分析:
yarn-site.xml的原始配置如下:
yarn.scheduler.maximum-allocation-mb 1024 // 修改为2048每个节点可用内存,单位MB,默认8182MB yarn.nodemanager.vmem-pmem-ratio 2.1 yarn.nodemanager.resource.memory-mb 1024 // 修改为2048
the 1024 is value the yarn.scheduler.maximum-allocation-mb inyarn-site.xml, and the 1536 is default value of yarn.app.mapreduce.am.resource.mb parameter in mapred-site.xml, make sure the allocation-mb>app.mapreduce.resouce will be ok.
解决方案:
如上分析,将yarn.scheduler.maximum-allocation-mb的value大于1536即可,所以,在Hadoop的../etc/hadoop/目录中的yarn-site.xml中,搜索相关配置项,如下所示:
yarn.scheduler.maximum-allocation-mb
yarn.nodemanager.resource.memory-mb
将这两项的配置改为 2048。注意:如果是集群需要全部调整修改。重启yarn。即可
重启命令,停止:./stop-yarn.sh ,启动:./start-yarn.sh。
强调:集群一定要把每个节点中的yarn-site.xml配置文件修改并保存,然后从主节点重启。
再次执行插入数据操作,便可成功,截图如下:
参考:
http://www.bubuko.com/infodetail-1179879.html
http://blog.sina.com.cn/s/blog_e699b42b0102xg2k.html