2014-11-24 45 views
14

我是HIVE中的新成員。 我已經建立了hadoop,它運行良好,我想設置Hive。 當我開始蜂房,它顯示了一個錯誤java.net.URISyntaxException啓動HIVE時

Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D 

有什麼辦法呢?

+0

可以粘貼您的HBase的-site.xml中和核心的site.xml – 2014-11-24 08:21:35

回答

-1

在蜂房的site.xml

<configuration> 
<property> 
    <name>hive.metastore.schema.verification</name> 
    <value>false</value> 
    <description>Will remove your error occurring because of metastore_db in shark</description> 
</property> 
</configuration> 

添加屬性根據你的系統中hive-env.sh添加Java和Hadoop路徑。

# Set HADOOP_HOME to point to a specific hadoop install directory 
export HADOOP_HOME=/home/user17/BigData/hadoop 

#hive 
export HIVE_HOME=/home/user17/BigData/hive 

# Hive Configuration Directory can be controlled by: 
export HIVE_CONF_DIR=$HIVE_HOME/conf 

,也可以設置在.bashrc中

export JAVA_HOME=/home/user17/jdk 
export PATH=$PATH:$JAVA_HOME/bin 

export HADOOP_INSTALL=/home/user17/BigData/hadoop 
export PATH=$PATH:$HADOOP_INSTALL/bin 
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL 
export HADOOP_COMMON_HOME=$HADOOP_INSTALL 
export HADOOP_HDFS_HOME=$HADOOP_INSTALL 
export YARN_HOME=$HADOOP_INSTALL 

export HIVE_INSTALL=/home/user17/BigData/hive 
export PATH=$PATH:$HIVE_INSTALL/bin 

Note--這一切文件路徑是根據我的系統設置蜂巢和Hadoop的路徑,你應該根據你的系統給路徑。 讓我知道如果不工作

12

變化HFS-site.xml中這一特性

<name>hive.exec.scratchdir</name> 
<value>/tmp/hive-${user.name}</value> 

<name>hive.exec.local.scratchdir</name> 
<value>/tmp/${user.name}</value> 

<name>hive.downloaded.resources.dir</name> 
<value>/tmp/${user.name}_resources</value> 

<name>hive.scratch.dir.permission</name> 
    <value>733</value> 

重啓蜂巢metastore和hiveserver2

+0

$ {user.name}肯定是最好的正確答案。讓你想知道爲什麼hive開發者打破了$ {system:user.name}語法。 – Chris 2016-06-16 21:55:36

+0

我在hive-site.xml(在mac上)做了上述更改。謝謝:) – gnsb 2016-11-22 05:43:59

+0

這是正確的 – 2017-07-03 05:54:16

0

我而HBase的開始HMASTER也遇到了同樣的錯誤。 這是通過指定hdfs目錄的路徑來更正的,在這裏hbase-site.xml hbase.site.xml 的hbase.rootdir屬性中存儲hbase數據,之前我只使用相對路徑。

路徑造成的異常:HDFS://本地主機:8020

正確的路徑:HDFS://本地主機:8020/HBase的

30

把下面的蜂房的site.xml年初

<property> 
    <name>system:java.io.tmpdir</name> 
    <value>/tmp/hive/java</value> 
    </property> 
    <property> 
    <name>system:user.name</name> 
    <value>${user.name}</value> 
    </property> 

又見question

+0

簡短和精確。 – 2017-03-24 10:49:51

+4

這應該被標記爲答案。 – orim 2017-05-30 10:51:59

+0

這是正確的答案,非常感謝! – 2017-06-01 12:10:56