【问题标题】:Hive integration with mysqlHive 与 mysql 的集成
【发布时间】:2012-12-07 20:50:22
【问题描述】:

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

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

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

【问题讨论】:

    标签: mysql hadoop hbase hive derby


    【解决方案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>
    

    【讨论】:

    • 完成了,如果你请我遇到另一个问题,如果你能帮忙,那是我的问题之一:- stackoverflow.com/questions/13929471/…
    • 谢谢。我从未使用过 Hive,但我会看看你的问题。
    • 我一直在尝试用 hive 配置 mysql,每次遇到错误我都不明白我哪里出错了.....正如你在这个链接 gist 中看到的那样.github.com/anonymous/bb86629116891e5b2d8c30b95aca9aee hive-site.xml 配置可以在链接中看到 gist.github.com/anonymous/44f1c9fc214136a113067cf3b4b72794 这是文件结构 gist.github.com/anonymous/e02b3631da94df
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-07
        • 2020-03-19
        • 2016-04-08
        • 2019-09-18
        • 2018-07-04
        • 1970-01-01
        • 2012-08-04
        相关资源
        最近更新 更多