2

我已经在 Hbase 上安装了带有 hadoop 的 Hive,我将数据库驱动程序的配置从 derby 更改为 MySQL,但我得到了这个异常

 FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user 'DBAUSER'@'linux-96' (using password: YES)

嵌套的Throwables:

 java.sql.SQLException: Access denied for user 'DBAUSER'@'linux-96' (using password: YES)
 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

我已经在 localhost 上安装了 MySQL 并配置hive-site.xml为从此数据库中读取

我不知道问题出在哪里,有人可以帮忙吗?

4

3 回答 3

1

这个问题主要与您的 MySQL 配置有关。

我敢打赌,问题出在您的 jdbc URL 配置中。错误说正在尝试连接到主机linux-96并且您提到您已在localhost中安装了 MySQL 服务器。

首先在您的本地主机中运行 MySQL 服务器并尝试打开一个客户端会话:

$ sudo service mysqld start
$ mysql -h localhost -u root -p

您应该能够登录(如果没有搜索如何重置 MySQL root 密码)

在 MySQL 中创建您的目标数据库以及用户和密码,并在继续之前检查您是否可以通过命令行登录。

$ mysql -h localhost -u <user> -p<password> <database>

然后检查你hive-site.xml的配置。你应该有这样的东西:

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/database?createDatabaseIfNotExist=true</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>user</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>password</value>
</property>
于 2012-12-20T22:07:25.907 回答
0

错误严格地说,您需要为 MySQL 表添加必要的权限。

在此处阅读有关 MySQL 权限的更多信息:http: //dev.mysql.com/doc/refman/5.5/en/grant.html
这是有用的教程: http: //kb.mediatemple.net/questions/788/HOWTO%3A +GRANT+特权+in+MySQL#dv

于 2012-12-20T10:56:07.840 回答
0

您的mysql密码已更改。这是唯一的原因。

我也有同样的错误,因为我的同事一言不发地更改了mysql密码

于 2013-04-23T03:06:46.930 回答