return code 1
原因:
'Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask'
报错是抄的,多次实践证明,执行hive sql ERROR 返回 return code 1 基本上是执行的HQL无法加入到对应的用户队列中。
解决方法 1:
执行HQL前,加入 set MapReduce.queue = QUEUE_CRA; CRA(用户名)
解决方法 2:
hdfs dfs命令对文件夹下的文件赋予权限。使其可以进行操作。
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 2 fromorg.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的问题。
未经授权的请求,怎么会有这样的问题呢。经过网上未解,说是各个节点的时间未同步的问题。
解决方法:
简直是晕,不知道谁刚好把某个节点时间修改了。才导致了这样的坑,居然都踩上了。于是把时间进行修改,进行系统时间同步,果然没有再次出现。
---------------------
作者:sparkexpert
来源:CSDN
原文:https://blog.csdn.net/sparkexpert/article/details/51158575
版权声明:本文为博主原创文章,转载请附上博文链接!
return code 3:
主要原因是数据倾斜。
解决方法 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
具体可以看这几篇博客:
https://blog.csdn.net/nysyxxg/article/details/73872245
https://blog.csdn.net/nieyanshun_me/article/details/54601492
hive优化中的常用参数:
https://blog.csdn.net/huangjin0507/article/details/49926317
---------------------
作者:ikeguang
来源:CSDN
原文:https://blog.csdn.net/ddxygq/article/details/81676046
版权声明:本文为博主原创文章,转载请附上博文链接!