Hadoop2.6.3+Hive-1.2.1+mysql5.6.15 问题汇总

问题描述一:

Caused by: Java.sql.SQLException: Unable to open a test connection to the given database. JDBC url = jdbc:MySQL://192.168.64.11:3306/hive?characterEncoding=UTF-8, username = hive. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

错误原因:停止mysql服务之后修改hive密码,之后没有重启mysql,虽然在主机上可以用  mysql  -uroot -p登陆,但是运行hive命令却拒绝远程链接。
解决方法:
#/etc/init.d/mysql restart    #重启mysql服务
或service mysql restart
即可解决以上问题。

问题描述2:

当在Hive中创建表的时候报错:

create table years (year stringevent stringrow format delimited fields terminated by '\t';FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(m

字符集问题、乱码的、显示字符长度问题的,这是由于字符集的问题,需要配置MySQL的字符集:

mysql> alter database hive character set latin1;

 修改后问题解决。

问题描述3:

Hadoop安装完以后,经常会提示一下警告:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... 
using builtin-java classes where applicable

搜了好多文章,都说是跟系统位数有关系,我使用的是Centos 6.5 64位系统。

首先下载hadoop-native-64-2.6.0.tar:

http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar

下载完以后,解压到hadoop的native目录下,覆盖原有文件即可。操作如下:

tar -xvf hadoop-native-64-2.4.0.tar -C  hadoop/lib/native/

问题描述4:

FAILED: Execution Errorreturn code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don’t support retries at the client level.)
这个是由于我的mysql不再本地(默认使用本地数据库),这里需要配置远端元数据服务器
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://10.24.32.169:9083</value>
</property>

在后台启动hive服务端程序

$nohup hive --service metastore &

客户端直接使用hive命令即可

问题描述5:

java.lang.IllegalArgumentException: java.net.UnknownHostException: dfscluster

解决办法:

找不到hdfs集群名字dfscluster,这个文件在HADOOP的etc/hadoop下面,有个文件hdfs-site.xml,复制到hive的conf下,重启即可

[hadoop@slave4 hadoop]$ cp  hdfs-site.xml $HIVE_HOME/conf/

问题描述6:

hive删除表时报错如下:
hive> drop table spider_log;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1


解决办法:
是mysql的版本和驱动的版本不匹配导致的,我的mysql版本是5.6的,刚开始使用的驱动是5.1.18,
,但是mysql5.6已经抛弃了这个参数,所以会报上面错误,换成驱动mysql-connector-java-5.1.31-bin.jar后解决。
(注意:更高的驱动版本也不一定能行,我下载了驱动是5.1.51也不能用,必须是5.1.31)
下载驱动:
http://dev.mysql.com/downloads/connector/j/
选择平台,下载(mysql-connector-java-5.1.31.tar.gz)
或者http://download.csdn.net/detail/sallivan/1855957下载
resource:http://www.superwu.cn/2016/06/17/3042/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值