2013-04-21 33 views
1

我在RHEL上安装了Hive cdh4。无论何时从目录启动Hive,它都会在其中创建metastore_db目录,并创建一个derby.log文件。这是一种正常的行为吗?而且,当我创建一个表时,从一个特定的目录启动Hive;当我从一个目录启动Hive时,我无法看到该表格,除此之外。从另一个目录启动时Hive不显示表格

例如, 假设我从我的家庭目录开始Hive,即$ HOME或〜,并且我在Hive中创建表。但是当我从/ path /到/ my/Hive /目录启动Hive并执行一个显示表时,我刚刚创建的表不会显示出来。但是,如果再次从我的主目录启动Hive并查找表格,我可以看到表格。

此外,如果我在hive-site.xml中做了一些更改,它们仅仅被Hive忽略。

请帮我我哪里错了。

回答

2

你可以改变这一点,并通过更新 “$ HIVE_HOME/conf目录/蜂房default.xml中” 文件的 “javax.jdo.option.ConnectionURL” 使用一个metastore_db如下:

<property> 
     <name>javax.jdo.option.ConnectionURL</name> 
     <value>jdbc:derby:;databaseName=/path/to/my/metastore_db;create=true</value> 
     <description>JDBC connect string for a JDBC metastore</description> 
    </property> 

哪里/path/to/my/metastore_db是你想保持元存储分贝的位置。

+0

hi @ scarle88!谢谢你的帮助。但是,如果我在hive-site.xml中做了一些更改,他们仅仅被Hive忽略了。在新的Hive中,它们在$ HIVE_HOME/conf中拥有hive-default.xml.tempelate,而hive-site.xml位于$ HIVE_HOME/src/conf/hive-site.xml或$ HIVE_HOME/src/common/src /测试/资源/蜂房site.xml中。那么,现在我该更换哪一个? – Harman 2013-04-21 17:55:56

+0

默认情况下$ HIVE_HOME/conf /文件夹中没有hive-site.xml。 hive-default.xml中充满了您可以在配置单元中覆盖的示例设置。为了覆盖设置,你需要在$ HIVE_HOME/conf /中创建一个hive-site.xml文件,并添加上面的megastore.dB设置,它应该可以工作。 – 2013-04-21 18:26:48

+0

谢谢@ scarle88。我还有一个问题,它可能听起来很愚蠢,但是有没有办法设置一个默认目录,其中可以创建derby.log而不是任何地方? – Harman 2013-04-21 18:30:39

相关问题