我已经在Hbase上通过hadoop安装了Hive,我将数据库驱动程序的配置从derby更改为MySQL,但是出现了此异常

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

NestedThrowables:
 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

我已经在本地主机上安装了MySQL,并配置了hive-site.xml从此数据库读取

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

最佳答案

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

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

首先在您的本地主机上运行MySQL服务器,然后尝试打开一个客户端 session :

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

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

在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>

10-07 19:57
查看更多