hive报错--code1/2/3
code1/2/3
- 前言
- 实例
- return code 1
- 原因1及解决:
- 原因2及解决
- return code 2:
- 原因 1及解决:
- 原因 2 及解决:
- 原因3及解决
- 原因4及解决
- 原因5及解决
- return code 3:
- 原因1及解决
- 原因2及解决
前言
- hive的报错code1/2/3实在是太烦人了
- 解决方法
搜索
application_
,找到你的报错job的url- The url to track the job: http:省略。。。。/proxy/application_1620706700013_2342264/
进入yarn搜索该job的id
点击log
- 点进去发现log是不全的,点击查看完整log
- 搜索
error
- 根据对应的error修改你的报错吧
实例
return code 1
原因1及解决:
‘Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask’
基本上是执行的HQL无法加入到对应的用户队列中。
解决方法 1:
- 执行HQL前,加入 set MapReduce.queue = QUEUE_CRA; CRA(用户名)
解决方法 2:
- hdfs dfs命令对文件夹下的文件赋予权限。使其可以进行操作。
原因2及解决
- 报错:
- FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
- hive报错
- 原因:
- localtask出现了内存溢出
- 解决方法1:
- 调大localtask的内存(默认1G,调大到4G)
- set hive.mapred.local.mem=4096
- 解决方法2:
- 直接关闭表的autojoin
- set hive.auto.convert.join=false;
return code 2:
原因 1及解决:
- HQL产生较大的笛卡尔积,撑爆了HIVE 执行的最大线程载荷。
- 解决方法:
- 优化HQL.
原因 2 及解决:
- Hive运行成功之后,当输入select count(*) from XX或者插入数据时,居然碰到BUG。
- 2016-04-14 12:31:56,199 Stage-1 map = 0%, reduce = 0%
Ended Job = job_1460599682683_0005 with errors
Error during job, obtaining debugging information…
FAILED: Execution Error, return code 2fromorg.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-1: HDFS Read: 0HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec - 这个问题只是HIVE单方面的问题,而用Hadoop Job日志查看,却是YarnException: Unauthorized request to start container的问题。
- 未经授权的请求,怎么会有这样的问题呢。网上说是各个节点的时间未同步的问题。
- 解决方法:
- 把时间进行修改,进行系统时间同步
- 原文
原因3及解决
- Caused by: org.apache.hadoop.hive.ql.metadata.HiveFatalException: [Error 20004]:
Fatal error occurred when node tried to create too many dynamic partitions.
The maximum number of dynamic partitions is controlled by hive.exec.max.dynamic.partitions and hive.exec.max.dynamic.partitions.pernode. Maximum was set to: 100
- 解释
- 给的提示很明显,默认动态分区最大数量被设成了100,这是由这两个参数。。。控制的
- 解决
- 需要根据数据调整这两个参数
- 第一个属性可确保创建的分区总数不超过500,
- 第二个属性可确保单个reducer不会创建超过500个分区(假设两个值均设置为500)
set hive.exec.max.dynamic.partitions = 500
set hive.exec.max.dynamic.partitions.pernode = 500
原因4及解决
- 报错
- Error during job, obtaining debugging information…
- 原因
- namenode内存空间不够,JVM剩余内存空间不够新job运行所致
Error during job, obtaining debugging information...FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduce Jobs Launched: Stage-Stage-1: Map: 1 Cumulative CPU: 5.67 sec HDFS Read: 0 HDFS Write: 0 FAIL
- 解决
- 设置成本地模式来执行任务试试
set hive.exec.mode.local.auto=true;
原因5及解决
- hive–奇奇怪怪的code2报错
return code 3:
原因1及解决
- 报错
- FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
- 解决方法 1:
- 对数据大的表进行GROUP BY ,减少数据量。
- 解决方法 2:
- set hive.auto.convert.join = false;
- 说明:是不是依据输入文件的大小,将Join转成普通的Map Join
- 默认值: false
- set hive.ignore.mapjoin.hint = false;
- 说明: 是否忽略mapjoin hint 即mapjoin标记
- 默认值: true
- set hive.exec.parallel = true;
- 说明:是否并行提交任务
- 默认值:false
- set hive.auto.convert.join = false;
原因2及解决
报错:
- Hive Runtime Error: Map local work exhausted memory
- hive报错
原因:
- localtask出现了内存溢出
解决方法1:
- 调大localtask的内存(默认1G,调大到4G)
- set hive.mapred.local.mem=4096
解决方法2:
- 直接关闭表的autojoin
- set hive.auto.convert.join=false;
可以看下这几篇博客:
https://blog.csdn.net/nysyxxg/article/details/73872245
https://blog.csdn.net/nieyanshun_me/article/details/54601492
https://blog.csdn.net/huangjin0507/article/details/49926317
hive报错--code1/2/3相关推荐
- #Hive报错 WritableStringObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspect
#Hive报错 FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableS ...
- 启动hive报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang
报错详情: b/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf ...
- Hive报错java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonFactory
一 问题 Hive报错java.lang.NoClassDefFoundError:org/codehaus/jackson/JsonFactory 二 原因 Hadoop版本是0.20.2.$HAD ...
- hive报错Could not get block locations. Source file “/user/hive/warehouse/xxx
hive报错 Could not get block locations. Source file "/user/hive/warehouse/xxx... 以及 Caused by: or ...
- (详细)解决hive报错FAILED: SemanticException Cartesian products are disabled for safety的问题
在使用hive-2.3.3执行TPC-H benchmark时,遇到hive报错.而且这个错误不是以Java异常栈的形式跑出的,很可能被忽略: FAILED: SemanticException Ca ...
- Hive报错FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
Hive报错Error while processing statement: FAILED: Execution Error, return code 3 from org.apache.hadoo ...
- sqoop将oracle数据导入到hive报错:Error: java.io.IOException: SQLException in nextKeyValue
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 问题 一.问题是什么导致的? 二.验证问题 总结 问题 sqoop将oracle数据导入到hive报错:Error: jav ...
- hive报错(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory/tmp/hive/.
报错场景: 使用shell脚本进行对hive的数据查询导入导致出错,先是hive执行时间较长,后面hive报错. 问题描述: 使用jps查询进程,发现有三个hive进程,三个RunJar,RunJar ...
- Hive 报错提示及解决方法
Hive 报错提示 报错提示:message:Database xxx is not empty. One or more tables exist 原因分析:在HIve的数据库时执行drop dat ...
最新文章
- SAP BADI应用
- Java-POI操作excel清除单元格分行字符
- [AWS vs Azure] 云计算里AWS和Azure的探究(2)
- 逻辑漏洞——权限控制问题
- appium+python自动化项目实战(一):引入nose和allure框架
- 计算机应用技术环境评估,计算机应用教程(第7版)(Windows 7与Office 2007环境)习题解答与上机练习...
- php 的html文件怎么打开,什么是html文件?html格式如何打开?(图)
- Label显示多行文本总结
- spring boot连接redis配置127.0.0.1_springboot+redis项目实战
- 在使用FireFox浏览器时,经常打开新标签,页面总是不断自动刷新,解决办法
- Xshell 6免费版
- virtualbox虚拟机linux共享文件夹,Virtualbox下linux虚拟机共享文件夹挂载
- 安卓版AWZ爱伪装一键新机说明
- 逻辑设计基础_第2周-布尔代数及表达式化简
- 生活中的货币时间价值 网课答案
- 80后冲入“剩女”阵营
- 深度学习模型试跑(十一):PaddleOCR(c++,vs2019)
- kvm静态迁移error: Cannot access storage file
- VLClclc Plugin Object的方法
- mysql dsn设置_[分享]用数据源(用数据源(ODBC)创建数据库连接DSN设置)创建数据库连接DSN设置...