hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

hive出现报错

Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask (state=08S01,code=2)

整理了网上找到的一些解决方法,希望对大家有所帮助:

方法一:

在运行sql命令前运行以下命令

set hive.support.concurrency=false;

方法二:

yarn资源不足,修改hadoop配置文件yarn-site.xml,参数不固定

<property>
   <name>yarn.scheduler.minimum-allocation-mb</name>
   <value>2048</value>
   <description>default value is 1024</description>
</property>

方法三:

修改配置文件yarn-site.xml ,参数不固定

<property>
	<name>yarn.scheduler.maximum-allocation-mb</name>
	<value>2048</value>
</property>
<property>
  	<name>yarn.scheduler.minimum-allocation-mb</name>
  	<value>2048</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>

方法四:

数据量太大,内存溢出,在运行sql命令前设置参数,参数不固定,根据自身需要修改

# map阶段内存不足
set mapreduce.map.memory.mb=10150; 
set mapreduce.map.java.opts=-Xmx6144m;
# reduce阶段内存不足
set mapreduce.reduce.memory.mb=10150; 
set mapreduce.reduce.java.opts=-Xmx8120m;

方法五:

各个节点时间不同步

# 查看集群时间
date
# 同步时间
ntpdate cn.pool.ntp.org
# 或者使用这一条指令
ntpdate -u ntp.api.bz

方法六:

hadoop版本与hive版本不兼容,建议查一下兼容表确认。

方法七:

修改配置文件yarn-site.xml

#Yarn可使用的物理内存总量,该值不能大于节点的内存
yarn.nodemanager.resource.memory-mb
#单个任务可申请的物理内存
yarn.scheduler.maximum-allocation-mb

方法八:

分区数量太多

# 是否允许动态分区
hive.exec.dynamic.partition=true; 
# 允许最大的动态分区
hive.exec.max.dynamic.partitions=1000; 
# 单个节点允许最大分区
hive.exec.max.dynamic.partitions.pernode=100; 

方法九:

关闭自动装载

set hive.auto.convert.join= false;

方法十:

hive启动堆栈内存不足
修改配置文件hadoop-env.sh

export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"

hive下的bin目录下的配置文件hive-config.sh

export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-2048}

方法十一:

hive执行内存不足

set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.parallel=true;
set hive.support.concurrency=false;
set mapreduce.map.memory.mb=4128;

方法十二:

关闭集群,重启虚拟机。

我的修改经历:

运行hive程序后出现报错,先去查看了hive的日志
在这里插入图片描述
貌似是这个地方出了问题,然后又到ui界面查看job_1656464646163_0001进程
在这里插入图片描述
查看他的日志,发现了新问题
在这里插入图片描述
想到了利用命令行查看日志错误

yarn logs -applicationId application_1656464646163_0002

发现问题
在这里插入图片描述

引用\[1\]:Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Exception when loading 1 in table uniaction1 with loadPath=********************************* 。 引用\[2\]:Error while processing statement: FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Ensure called on an unitialized (or closed) session 352a2d91-16c8-44bd-a296-8a8eab91a2d0 。 引用\[3\]:ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask INFO : Completed executing command(queryId=hive_20221018074224_172b6c79-9a2b-4af0-a992-b6db1380daf2); Time taken: 5.112 seconds Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask (state=08S01,code=1) Intercepting System.exit(2) Failing Oozie Launcher, Main class \[org.apache.oozie.action.hadoop.Hive2Main\], exit code \[2\] 。 问题: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 回答: 根据提供的引用内容,没有找到关于"Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask"的具体信息。请提供更多的上下文或详细描述,以便我能够更好地回答您的问题。 #### 引用[.reference_title] - *1* *2* *3* [hive报错信息不明确的情况汇总](https://blog.csdn.net/Direction_Wind/article/details/126001680)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值