web-dev-qa-db-de.com

java.net.URISyntaxException beim Starten von HIVE

Ich bin neu in Hive . Ich habe bereits hadoop eingerichtet und es funktioniert gut, und ich möchte Hive ..__ einrichten. Wenn ich Hive starte, wird ein Fehler angezeigt 

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

Gibt es Lösungen? 

22
Exia

Ich finde es selbst heraus .. Ersetzen Sie in der Hive-site.xml $ {system: Java.io.tmpdir}/$ {system: user.name} durch/tmp/mydir, wie in https://cwiki.Apache.org/confluence/display/Hive/AdminManual+Configuration .

14
Exia

Fügen Sie am Anfang von Hive-site.xml Folgendes ein

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

Siehe auch Frage

57
Jonathan L

Ändern Sie diese Eigenschaften in 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>

starten Sie Hive-Metastore und Hiveserver2 neu 

13

Ausnahme im Thread "main" Java.lang.IllegalArgumentException: Java.net.URISyntaxException: Relativer Pfad in absolutem URI: $ {system: Java.io.tmpdir% 7D/$% 7Bsystem: user.name% 7D System: Java.io.tmpdir - Pfad) 
system: benutzername.name

Über den Eigenschaften befinden sich Eigenschaften auf Systemebene, die vom Benutzer festgelegt werden müssen. Die Hive-Site-Vorlage hat diese nicht bereitgestellt und erforderte die manuelle Konfiguration. 

Legen Sie die obigen Eigenschaften fest, z. B. "property tag with name value key" in "Hive-site.xml". Seine Benutzerebene, um die Position des Temps festzulegen

<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>
0
Kanthishere

Der gleiche Fehler ist auch beim Starten von HMaster für Hbase aufgetreten. Dies wurde korrigiert, indem der Pfad zum Verzeichnis auf hdfs angegeben wurde, in dem hbase-Daten in der Eigenschaft hbase.rootdir von hbase-site.xml benutzte nur relativen Pfad.

pfad, der die Ausnahme verursacht: hdfs: // localhost: 8020

richtiger Pfad: hdfs: // localhost: 8020/hbase

0
Azam Khan