记录hive sql报错,return code1和return code2解决方法

17 篇文章 16 订阅
14 篇文章 0 订阅

执行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>
  • 12
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当在Hive中运行SQL时,如果出现报错"Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask",这通常意味着在执行MapReduce任务时发生了错误。 根据引用和引用,返回代码2表示MapReduce任务执行失败,而返回代码3表示MapReduce Local任务执行失败。这可能是由于以下原因之一导致的错误: 1. 集群环境问题:可能是因为集群配置不正确、资源不足或网络问题导致的。 2. SQL语句问题:可能是由于SQL语句本身存在错误或不完整导致的。 3. 数据问题:可能是由于输入数据格式错误、数据不完整或数据丢失导致的。 要解决这个问题,可以尝试以下几个步骤: 1. 检查集群环境:确保集群的配置正确,资源充足,并检查网络连接是否正常。 2. 检查SQL语句:仔细检查SQL语句是否正确,包括表名、列名、语法等。 3. 检查数据:确保输入数据的格式正确,并且数据完整性良好。 如果以上步骤都没有解决问题,可以尝试以下方法: 1. 检查Hive日志:查看Hive日志文件,了解更详细的错误信息和堆栈跟踪,以帮助进一步分析和解决问题。 2. 寻求专业支持:如果问题仍然存在,可以咨询Hive社区或专业人士,以获取更高级的支持和解决方案。 综上所述,当Hive运行SQL报错"Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask"时,可能是由于集群环境问题、SQL语句问题或数据问题导致的。可以通过检查集群环境、SQL语句和数据来解决问题,并根据Hive日志和专业支持进行进一步的故障排除。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Hive报错FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr....](https://blog.csdn.net/qq_41580613/article/details/121242873)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析_...](https://download.csdn.net/download/weixin_43753599/86508671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值