当前位置:   article > 正文

Hive查询报错:FAILED:Execution Error,return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask_execution error, return code 2 from org.apache.had

execution error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.mapred

复现

beeline -u jdbc:hive2://linux01:10000 -n root -e "alter table tmp.user_action_log add partition(dt='${pre_day}') location '/events_log/${pre_day}'"
  • 1

在Linux命令行中跑HiveSQL统计行数,每次统计出来都为0,后来发现是查询语句压根就没执行。

原因

Hive中跑复杂SQL会导致内存溢出,查询失败,报错:FAILED:Execution Error,return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

解决:修改Hadoop及Hive配置参数

1. 修改Hive配置参数

修改hive客户端目录下hive-site.xml配置文件中对应值,如果该配置中已存在mapred.map.child.java.opts配置项,则只需要修改对应的值即可;如果该配置中没有该配置项则需要加入对应的信息,如下:

<property>
<name>mapred.map.child.java.opts</name>
<value>-Xmx2048m</value>
</property>
  • 1
  • 2
  • 3
  • 4

2. 修改Hadoop配置参数

在Hadoop的配置文件Hadoop-env.sh中修改如下配置:

export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/597354
推荐阅读
相关标签
  

闽ICP备14008679号