问题描述
- hive错误: 不能实例化 HiveMetaStoreClient
-
使用hive 0.12和mysql 5.6, hive每次启动都报如下错误
16/01/20 15:42:19 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.Logging initialized using configuration in jar:file:/home/zkpk/apache-hive-0.13.1-bin/lib/hive-common-0.13.1.jar!/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/zkpk/hadoop-2.5.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/zkpk/hbase-0.98.7-hadoop2/lib/phoenix-4.5.1-HBase-0.98-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/zkpk/hbase-0.98.7-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:346)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)已经做过相应调查,但依然解决不了
- hive-site.xml的配置如下:
???
??????? hive.metastore.local
??????? true
???
???
??????? javax.jdo.option.ConnectionURL
???????? jdbc:mysql://master:3306/hive_13?characterEncoding=UTF-8
???
???
??????? javax.jdo.option.ConnectionDriverName
??????? com.mysql.jdbc.Driver
???
???
??????? javax.jdo.option.ConnectionUserName
??????? hadoop
???
???
??????? javax.jdo.option.ConnectionPassword
??????? hadoop
??? - hive用户可以成功连接mysql
*****@master conf]$ mysql -uhadoop -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 35
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hive_13 |
| mydata |
| mysql |- 在 $HIVE_HOME/lib下,有对应的mysql-connector
[grid@hadoop1 conf]$ ls ../lib/mysql-connector-java-5.1.27-bin.jar -l
-rw-r--r-- 1 grid grid 872303 Dec 8 23:31 ../lib/mysql-connector-java-5.1.27-bin.jar
[grid@hadoop1 conf]$
- hive-site.xml的配置如下:
解决方案
http://www.dataguru.cn/thread-215957-1-1.html