1

在 hive-site.xml(hive-0.9.0) 中,我有 2 个属性

1)javax.jdo.option.ConnectionUserName

2)javax.jdo.option.ConnectionPassword

这些有什么作用?,我应该提供哪个用户名和密码?它们与 root/mysql 有关吗?

4

1 回答 1

6

除此之外javax.jdo.option.ConnectionURLjavax.jdo.ConnectionDriver它们旨在连接到 Hive 的元存储。您打算使用 MySQL 或其他数据库作为元存储吗?如果您不使用 Hive 的标准元存储 (Derby),则只需要设置这些。

hive-site.xml使用 MySQL 时如何设置的示例:

 <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/<databasename></value>
 </property>
 <property>
    <name>avax.jdo.ConnectionDriver</name>
    <value>com.mysql.jdbc.Driver</value>
 </property>
 <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value><your database user></value>
 </property>
 <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value><your database user password></value>
 </property>

如果您确实打算将另一个数据库作为元存储运行,请不要忘记创建一个数据库并在$HIVE_HOME/scripts/metastore/upgrade/.

在我看来,最简单的方法是首先在 MySQL shell 中创建你的数据库,然后退出 shell 并从你的 shell 中使用这个命令:mysql -u <username> -p -h <host> <databasename> < <sql script>

顺便说一句,我认为最好创建一个 Hadoop 特定的数据库用户,而不是使用你的 root 用户。

于 2013-01-09T09:48:07.420 回答