我是HIVE的新手。 我已经设置了hadoop并且运行良好,我想设置Hive。 当我启动配置单元时,它显示错误
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
有什么解决方案吗?
答案 0 :(得分:63)
将以下内容放在hive-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
答案 1 :(得分:14)
我自己弄清楚了。 在hive-site.xml中,将$ {system:java.io.tmpdir} / $ {system:user.name}替换为/ tmp / mydir,如https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration中所述。
答案 2 :(得分:14)
在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>
重新启动hive metastore和hiveserver2
答案 3 :(得分:0)
启动Haster的HMaster时,我也遇到了同样的错误。 这是通过在hdfs上指定目录的路径来修正的,其中hbase数据存储在hbase-site.xml的hbase.rootdir属性中 早些时候我只使用相对路径。
导致异常的路径:hdfs:// localhost:8020
正确路径:hdfs:// localhost:8020 / hbase
答案 4 :(得分:0)
线程“ main”中的异常java.lang.IllegalArgumentException:java.net.URISyntaxException:绝对URI中的相对路径:$ {system:java.io.tmpdir%7D / $%7Bsystem:user.name%7D
system:java.io.tmpdir-路径
系统:user.name-用户名
以上属性是需要由用户设置的系统级属性,因此,配置单元站点模板未提供这些必需的手动配置。
设置以上属性,例如在hive-site.xml中使用带有名称/值对的属性标签,其最高用户级别选择temp的位置
<property>
<name>system:java.io.tmpdir</name>
<value>/user/local/hive/tmp/java</value>
</property>
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>
答案 5 :(得分:-1)
在hive-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中设置hive和hadoop路径
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
注意 - 这个所有文件路径都是根据我的系统设置的,你应该根据你的系统给出路径。 如果不行,请告诉我