我在通过 HIVE 使用 mysql 时遇到问题。当我这样做时:
hive> show tables;
FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
这是 hive.log 文件的部分:
2014-12-10 19:46:01,928 ERROR Datastore.Schema (Log4JLogger.java:error(125)) - Failed initialising database.
Access denied for user 'root'@'localhost' (using password: YES)
org.datanucleus.exceptions.NucleusDataStoreException: Access denied for user 'root'@'localhost' (using password: YES)
这是hive-site.xml的部分
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value></value>
</property>
但是当我在 MYSQL 中执行相同的查询时没有问题。
最佳答案
hive.log 清楚地显示问题是 hive 客户端尝试对 hive Metastore 服务器使用的 mysql 数据库进行身份验证失败。
您显然没有正确的 mysql root 密码。您需要从系统管理员处获取密码来更正密码或重置密码。以下是有关如何重置密码的说明:
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
关于mysql - 将 mysql 与 hive 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406626/