执行hive sql语句的时候非常容易出现return code 1、return code 2、return code 3的情况,我就遇到了很多次,code3在某次意外中得以解决 但是引发了code2 和code1, 有些error莫名其妙的出现又莫名其妙的消失,可它还会带来更多的error。
⚠️报错:
[2021-10-19 19:45:38] [08S01][2] Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
✅解决方法:
这个真的困扰了我好久啊啊啊啊啊!!! 跟着改了n多配置无用。
就在1019日大概晚上八点 突然看到一篇文章醍醐灌顶的感觉,就是说hive sql return code 2 是一种常见的官方报错方式,每个人的错误可能都不一样,但是一定要去yarn上查看log
具体请看这里== 》
于是我去查看了yarn job diagnostics,很明显内存超出了!可是我之前已经改到虚拟内存最大了,没办法只好改大了虚拟机内存,再次调整yarn容器允许分配的最大最小内存和yarn容器允许管理的物理内存大小!
yarn-site.xml:
同时记得修改mapred-site.xml里的
⚠️报错:
[2021-10-19 22:06:07] [08S01][2] Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
✅解决方法:
查看yarn 进度显示succeed?!但是这里又报错,点进去log里看也没有看到任何报错就很奇怪 之前也遇到过很很多次这个错误一直没有得到解释,知道刷到下面这条⬇️
说是堆内存溢出导致的==>
由于我已经配置了yarn.scheduler.maximum-allocation-mb 和 yarn.scheduler.minimum-allocation-mb,故如图配置以下两个文件得以解决!!!
最后,贴出我yarn-site.xml的所有配置:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop103 yarn.log-aggregation-enable true yarn.log.server.url http://hadoop102:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 604800 yarn.scheduler.minimum-allocation-mb 512 yarn.scheduler.maximum-allocation-mb 4096 yarn.nodemanager.resource.memory-mb 4096 # 打开hadoop中yarn-site.xml文件,添加 yarn.nodemanager.vmem-check-enabled false> yarn.nodemanager.vmem-check-enabled false yarn.nodemanager.vmem-pmem-ratio 2.1 mapred.child.java.opts -Xmx1024m
mapred-site.xml配置:
mapreduce.framework.name yarn mapreduce.jobhistory.address hadoop102:10020 mapreduce.jobhistory.webapp.address hadoop102:19888 yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=/opt/module/hadoop-3.2.2 mapreduce.map.env HADOOP_MAPRED_HOME=/opt/module/hadoop-3.2.2 mapreduce.reduce.env HADOOP_MAPRED_HOME=/opt/module/hadoop-3.2.2 yarn.nodemanager.resource.memory-mb 4096 yarn.scheduler.maximum-allocation-mb 4096
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)