hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 您所在的位置:网站首页 hive报错08s01 hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

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

2024-01-18 23:05| 来源: 网络整理| 查看: 265

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,参数不固定

yarn.scheduler.minimum-allocation-mb 2048 default value is 1024 方法三:

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

yarn.scheduler.maximum-allocation-mb 2048 yarn.scheduler.minimum-allocation-mb 2048 yarn.nodemanager.vmem-pmem-ratio 2.1 mapred.child.java.opts -Xmx1024m 方法四:

数据量太大,内存溢出,在运行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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有