E-MapReduce集群hive异常排查(一)

hive是EMR集群常用的数据分析工具。执行hive命令时,我们经常会遇到各种错误,不知道该怎么解决。

      本文是hive异常排查系列的第一篇,主要介绍常见的hive执行异常和定位方法,以及hive日志位置。


一.常见异常表现

主要是执行hive sql的卡住,提示异常。如执行sql直接提示异常信息,执行sql卡住,显示mapreduce进度一直0%,mapreduce进度不动了,执行一半提示异常退出,等等。

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

二.异常定位

2.1.执行sql直接提示异常信息

一般是语法问题或hive服务异常。

2.1.1 ParseException,语法解析错误,sql写的有问题。


hive> show table;

FAILED: ParseException line 1:10 mismatched input '<EOF>' expecting EXTENDED near 'table' in show statement

提示table语法错误,应该是show tables。


hive> select * from test;
FAILED: SemanticException [Error 10001]: Line 1:14 Table not found 'test'
表test不存在。

2.1.2.MetaException,一般是metastore有问题。如

hive> show tables;
FAILED: SemanticException MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
连不上metastore,说明metastore服务有问题,如oom,被操作系统kill,等。


2.2.执行卡住

要看hive日志分析原因,一般是hive客户端遇到某种可重试异常一直在重试。

遇到过一次,看hive客户端日志反复有报错提示说不能识别一个机器域名。确定问题是因为hive on tez,hive client要用【集群内域名:端口】方式访问tez作业的appmaster,而执行hive命令的服务器没有配置集群内域名的解析,所以无法识别该域名。在/etc/hosts下增加域名配置解决该问题。

原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值