在 hive-site.xml(hive-0.9.0) 中,我有 2 个属性
1)javax.jdo.option.ConnectionUserName
2)javax.jdo.option.ConnectionPassword
这些有什么作用?,我应该提供哪个用户名和密码?它们与 root/mysql 有关吗?
在 hive-site.xml(hive-0.9.0) 中,我有 2 个属性
1)javax.jdo.option.ConnectionUserName
2)javax.jdo.option.ConnectionPassword
这些有什么作用?,我应该提供哪个用户名和密码?它们与 root/mysql 有关吗?
除此之外javax.jdo.option.ConnectionURL
,javax.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 用户。