HIVE-执行distribute by时报错的解决过程---之如何分析hive执行的错误并解决
在执行一条HIVE语句的时候报了以下错误,重新检查了所有步骤,重启所有服务,发现没有问题。 但发现一个有趣的事情
1,select sno,sname,sex,sage,sdept from student可以正常执行
2,sno,sname,sex,sage,sdept from student distribute by(sname) 不可以执行报错
在/tmp/用户名下查看系统hive.log,发现信息并不多。网上有其他方法可以查看更多日志,但太麻烦,速度很慢所以就没尝试。
select sno,sname,sex,sage,sdept from student distribute by(sname)
> ;
Query ID = root_20171108131253_43a3d026-0e04-44f2-8312-c92d1c0b6125
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Defaulting to jobconf value of: 2
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
Starting Job = job_1510116443491_0001, Tracking URL = http://server71:8088/proxy/application_1510116443491_0001/
Kill Command = /usr/local/hadoop/bin/hadoop job -kill job_1510116443491_0001
Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 0
2017-11-08 13:13:34,560 Stage-1 map = 0%, reduce = 0%
Ended Job = job_1510116443491_0001 with errors
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: HDFS Read: 0 HDFS Write: 0 FAIL
原因分析
上面1,2的区别表明了一件事情,单纯的select语句是不通过mapreduce的,加上distribute by后调用了yarn程序。打开8088端口的yarn端口
可怕的是没有错误信息,非常高兴看到了下面错误,表明了两件事。
1,刚才的sql用到了yarn,2,在使用yarn的时候无法启动container报错。这里需要了解yarn的基本知识。
解决方法:百度后得知这个是因为namenode和datanode时间不一致导致。简单说就是几台虚拟机的时间不一致。
用date查看四台机器,果然不一致。可能是因为某台曾经还原过快照,所以时间不一致。
org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.

解决过程
虽然知道了原因,但还不是很顺利,这也是很多人遇到的问题,我们的问题和其他人虽然是一个问题。但因为环境不同的原因,同样的方法并不好用。
首先,我尝试了ntpdate pool.ntp.org,但这个命令无效,报了name server问题,后来明白我电脑不联网,而刚才命令是同步网络时间的。所以我需要找到直接修改时间的方法
最后成功修改我的机器的时间的命令是下面的
date -s 15:55:33 (15点55分33秒) 时间可以自己修改
修改时间的其他方法,大家可以都尝试一下,问题关键在于修改了机器时间,把问题简化就是解决问题的基本步骤。
http://www.xitongzhijia.net/xtjc/20150219/38844.html
以上,希望对大家找到解决问题的思路有所帮助,问题有时候会让我们崩溃和绝望。但总是有解决办法的,比如终极方法:重装系统
HIVE-执行distribute by时报错的解决过程---之如何分析hive执行的错误并解决的更多相关文章
- python3.x执行post请求时报错“POST data should be bytes or an iterable of bytes...”的解决方法
使用python3.5.1执行post请求时,一直报错"POST data should be bytes or an iterable of bytes. It cannot be of ...
- Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法
Laravel 5.4 Mix & Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法 首先进入package.json文 ...
- 执行rpm -ivh 时报错:error rpmdb BDB0113 Threadprocess 11690140458095421504 failed
执行rpm -ivh 时报错:error rpmdb BDB0113 Threadprocess 11690140458095421504 failed 1.具体报错如下: [root@heyong ...
- (转)Linux安装SwfTools-0.9.2安装事,在执行make install时报错
系统:CentOS6.5 安装SwfTools-0.9.2的时候,在执行make install时报错, rm -f /usr/local/share/swftools/swfs/default_vi ...
- svn执行clean up 操作时报错 "Previous operation has not finished; run 'cleanup' if it was interrupted"解决如下!
今天在项目中更新的时候,突然间爆了一个svn的这个错误,当时提示我去clean up操作,结果我执行clean up操作时候,还是报错,后来坚持出来,是因为ios项目中的一个图标出了问题,使svn进入 ...
- hive 使用where条件报错 java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.ppd.ExprWalkerInfo.getConvertedNode
hadoop 版本 2.6.0 hive版本 1.1.1 错误: java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.ppd.ExprWalk ...
- 伪分布模式下执行wordcount实例时报错解决办法
问题1.不能分配内存,错误提示如下: FAILEDjava.lang.RuntimeException: Error while running command to get file permiss ...
- 安装redis 执行make命令时报错解决方法
一.未安装GCC 解决方法:执行yum install gcc-c++命令安装GCC,完成后再次执行make命令 yum install gcc-c++ Linux无法连接网络 http://www. ...
- RobotFramework+Appium 升级Appium v1.10.0后,执行click element时报错:InvalidSelectorException: Message: Locator Strategy 'css selector' is not supported for this session,解决办法
报错信息如下: debug] [35m[XCUITest][39m Connection to WDA timed out[debug] [35m[XCUITest][39m Connection t ...
随机推荐
- [原创]spring及springmvc精简版--继承数据源,声明式事物
1.前期:导入c3p0 jar包,相关数据库连接jar包,我用的是mysql 2.关注事物管理器的配置和AOP配置 代码: 核心关注bean配置文件 application.xml <?xml ...
- 如何理解Java程序使用Unicode字符集编写
Java采用UTF-16编码作为内码,也就是说在JVM内部,文本是用16位码元序列表示的,常用的文本就是字符(char)和字符串(String)字面常量的内容.注:UTF-16是Unicode字符集的 ...
- 如何单用户模式破解root密码&救援模式破解root密码
学了几天Linux,终于到了装逼时刻,看看如何破译别人的root密码,哈哈哈哈..... 单用户模式破解root密码 重置Centos 7 Root密码的方式 step1 - 在启动grub菜单,选择 ...
- Python编程-网络编程进阶(IO复用、Socketserver)
一.认证客户端的链接合法性 如果你想在分布式系统中实现一个简单的客户端链接认证功能,又不像SSL那么复杂,那么利用hmac+加盐的方式来实现. 服务端 from socket import * imp ...
- Linux 安装扩展yum源
Linux 安装扩展yum源 下载rpm扩展:http://rpmfind.net/linux/epel/6/x86_64/epel-release-6-8.noarch.rpm CentOS/RHE ...
- iOS_UIAlertController
ViewController.m文件 #import "ViewController.h" @interface ViewController () // @property (n ...
- HttpClient技术
1.什么是HttpClient? 2.HttpClient特点? 特点: 2.1. 基于标准.纯净的Java语言.实现了Http1.0和Http1.1 2.2. 以可扩展的面向对象的结构实现了Http ...
- CF697E && CF696C PLEASE
题意:给你三个杯子,一开始钥匙放在中间的杯子里,然后每一回合等概率将左右两个杯子中的一个与中间杯子交换.求n回合之后钥匙在中间杯子的概率.这里要求概率以分数形式输出,先化成最简,然后对1e9 + 7取 ...
- 笔记<c# 调用DLL解密密文>
using DTcms.Common; using System; using System.Collections.Generic; using System.Linq; using System. ...
- Spring 入门base
提起Spring,就会想到企业级框架这个词 企业级系统: 1.大规模:用户数量多,数据规模庞大,数据众多 2.性能和安全性要求更高 3.业务复杂 4.灵活应变 我觉得先了解一下Spring的地位和他的 ...