在hive-site.xml(hive-0.9.0)中,我有2个属性
1)javax.jdo.option.ConnectionUserName
2)javax.jdo.option.ConnectionPassword
这些用途是什么?,用户名&密码我应该给? 它们与root / mysql有关吗?
答案 0 :(得分:6)
除了javax.jdo.option.ConnectionURL
和javax.jdo.ConnectionDriver
之外,它们还可以连接到Hive的Metastore。您是否计划将MySQL或其他数据库用作Metastore?如果您没有使用Hive的标准Metastore(Derby),则只需设置这些。
使用MySQL时如何设置hive-site.xml
的示例:
<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>
如果您确实计划运行另一个数据库作为Metastore,请不要忘记创建数据库并在$HIVE_HOME/scripts/metastore/upgrade/
中运行脚本。
我认为最简单的做法是先在MySQL shell中创建数据库,然后退出shell并从shell中使用此命令:mysql -u <username> -p -h <host> <databasename> < <sql script>
顺便说一句,我认为最好是创建一个特定于Hadoop的数据库用户,而不是使用root用户。