2017-05-04 3 views
0

Ich habe Hadoop und Hive auf einem Mac OS installiert. Ich kann Hadoop und Garn problemlos starten. Ich kann hadoop fs verwandte Befehle ausführen, um Dateien auf hdfs zu betreiben. Aber ich konnte den Hive-Prozess nicht starten und habe einen Fehler unterschritten.Fehler beim Starten des Bienenstocks

$ hive 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/usr/local/Cellar/hive/2.1.0/libexec/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/local/Cellar/hadoop/2.8.0/libexec/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] 

Logging initialized using configuration in jar:file:/usr/local/Cellar/hive/2.1.0/libexec/lib/hive-common-2.1.0.jar!/hive-log4j2.properties Async: true 
Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bhive.session.id%7D_resources 
    at org.apache.hadoop.fs.Path.initialize(Path.java:254) 
    at org.apache.hadoop.fs.Path.<init>(Path.java:212) 
    at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:634) 
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:550) 
    at org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java:518) 
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:705) 
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:234) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:148) 
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bhive.session.id%7D_resources 
    at java.net.URI.checkPath(URI.java:1823) 
    at java.net.URI.<init>(URI.java:745) 
    at org.apache.hadoop.fs.Path.initialize(Path.java:251) 
    ... 12 more 

Ich bin neu in hive und nicht sicher, wo ich suchen soll. Wie kann ich das obige Problem lösen?

Antwort

0

Sie können versuchen, diese an der Spitze Ihrer hive-site.xml

<property> 
    <name>system:java.io.tmpdir</name> 
    <value>/tmp/hive/java</value> 
</property> 

das Hinzufügen oder Ändern Sie das Verzeichnis zu einem gewissen /tmp/mydir als erzählt in Configuring Hive

Verwandte Themen