在hive-site.xml中,"javax.jdo.option.ConnectionPassword"我应该给哪个密码?

Sag*_*kam 1 hive

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

1) javax.jdo.option.ConnectionUserName

2) javax.jdo.option.ConnectionPassword

这些是做什么的,我应该给出哪些用户名和密码?它们与root/mysql有关吗?

Pie*_*jan 6

除了javax.jdo.option.ConnectionURLjavax.jdo.ConnectionDriver他们的目的是连接到配置单元的metastore.您是否计划将MySQL或其他数据库用作Metastore?如果您不使用Hive的标准Metastore(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>
Run Code Online (Sandbox Code Playgroud)

如果您确实计划运行另一个数据库作为Metastore,请不要忘记创建数据库并运行脚本$HIVE_HOME/scripts/metastore/upgrade/.

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

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