启动配置单元时出现java.net.urisyntaxexception

rxztt3cl  于 2021-05-30  发布在  Hadoop
关注(0)|答案(6)|浏览(427)

我是新来的。我已经设置了hadoop,它运行良好,我想设置hive。当我启动hive时,它显示一个错误

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

有什么解决办法吗?

nbnkbykc

nbnkbykc1#

线程“main”java.lang.illegalargumentexception中出现异常:java.net.urisyntaxexception:绝对uri中的相对路径:${system:java.io.tmpdir%7d/$%7bsystem:user.name%7d system:java.io.tmpdir - 路径
system: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>
c90pui9n

c90pui9n2#

将以下内容放在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>

另见问题

q8l4jmvw

q8l4jmvw3#

在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中设置配置单元和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

注意——所有文件路径都是根据我的系统设置的,您应该根据您的系统给出路径。如果不行就告诉我

ttisahbt

ttisahbt4#

我在启动hbase的hmaster时也遇到了同样的错误。这是通过在hdfs上指定要在hbase-site.xml的hbase.rootdir属性中存储hbase数据的目录的路径来纠正的,之前我只使用相对路径。
导致异常的路径:hdfs://localhost:8020
正确路径:hdfs://localhost:8020/hbase

w9apscun

w9apscun5#

我自己想出来的。在hive-site.xml中,替换${system:java.io.tmpdir}/${system:user.name}按/tmp/mydir中所述https://cwiki.apache.org/confluence/display/hive/adminmanual+configuration.

lzfw57am

lzfw57am6#

在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元存储和hiveserver2

相关问题