我已经在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>