记录hive sql报错,return code1和return code2解决方法
執行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的所有配置:
<configuration><!--指定MR走shuffle--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!--開啟日志聚集功能--><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!--設置日志聚集服務器地址--><property><name>yarn.log.server.url</name><value>http://hadoop102:19888/jobhistory/logs</value></property><!--設置日志保留時間為7天--><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><!--yarn容器允許分配的最大最小內存--><property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value></property><!--yarn容器允許管理的物理內存大小--><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value></property><!--關閉yarn對虛擬內存的限制檢查--><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false></value></property># 打開hadoop中yarn-site.xml文件,添加<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property><!-- 解決堆內存溢出 --><property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>2.1</value></property><property><name>mapred.child.java.opts</name><value>-Xmx1024m</value></property></configuration>mapred-site.xml配置:
<configuration><!--指定MapReduce程序運行在Yarn上--><property><name>mapreduce.framework.name</name><value>yarn</value></property><!--歷史服務器端地址--><property><name>mapreduce.jobhistory.address</name><value>hadoop102:10020</value></property><!--歷史服務器web端地址--><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop102:19888</value></property><!--運行hdfs自帶wordcount功能出現錯誤--><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.2.2</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.2.2</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.2.2</value></property><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value></property> </configuration>總結
以上是生活随笔為你收集整理的记录hive sql报错,return code1和return code2解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。