无法使用远程模式运行Hive Metastore

时间:2014-04-07 22:40:26

标签: hadoop hive metastore

我在Apache Hadoop分布式集群中添加了Hive。相反,在本地目录中创建Metastore,我想在HDFS中创建Metastore。但是,我在hive-site.xml中的设置似乎不起作用。我得到了如下的错误,似乎蜂巢仍试图在本地模式下使用run Metore。

  

java.sql.SQLException:无法创建目录/ home / zz / metastore_db。

有谁能告诉我我的设置出了什么问题?非常感谢!

以下是我的hive-site.xml内容:

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://client2/metastore</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>MySQL JDBC driver class</description>
</property>

<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
</property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>user name for connecting to mysql server </description>
</property>

<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hadoop</value>
</property>

<property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
</property>

<property>
    <name>hive.server2.servermode</name>
    <value>thrift</value>
</property>

<property>
    <name>datanucleus.autoCreateSchema</name>
    <value>false</value>
</property>

<property>
    <name>datanucleus.fixedDatastore</name>
    <value>true</value>
</property>

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>master1</value>
</property>

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://client2:9083</value>
    <description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>

1 个答案:

答案 0 :(得分:1)

确保hive类路径中有hive-site.xml文件。在您的情况下,更新的hive-site.xml文件未正确使用,而是采用默认值。对于显式设置hive conf目录,可以在执行hive命令之前使用以下环境变量

export HIVE_CONF_DIR=<PATH-TO-CONF-DIR>  

(目录中应包含hive-site.xml)

要将远程mysql配置为hive Metastore,首先必须在远程mysql(Metastore数据库)中创建具有足够权限的数据库。最初数据库将为空,因此,如果数据库为空,则通过将以下属性设置为true将自动在远程数据库中创建Metastore模式

<property>
    <name>datanucleus.autoCreateSchema</name>
    <value>true</value>
</property>

如果问题仍然存在,请使用选项--config启动配置单元,如下所示

hive --config <PATH-TO-CONF-DIR>