2016-03-31 11 views
0

Ich habe HIVE mit this Tutorial installiert. Aber wenn ich die Folowing commad laufenHive installiert, aber Fehler beim Ausführen

hive

Ich erhalte diese Fehler

SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/hive/apache-hive-2.0.0-bin/lib/hive-jdbc-2.0.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/hive/apache-hive-2.0.0-bin/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.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/lib/hive/apache-hive-2.0.0-bin/lib/hive-common-2.0.0.jar!/hive-log4j2.properties Thu Mar 31 13:11:06 IST 2016 Thread[main,5,main] java.io.FileNotFoundException: derby.log (Permission denied) Thu Mar 31 13:11:06 IST 2016 Thread[main,5,main] Cleanup action starting ERROR XBM0H: Directory /usr/lib/hive/apache-hive-2.0.0-bin/metastore_db cannot be created. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.services.monitor.StorageFactoryService$10.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)

und viele andere Ausnahmen.

EDIT 1 Kann nicht hive-site.xml

Dies ist, was mein conf Ordner sieht aus wie http://postimg.org/image/vloi2vneh/

EDIT 2 am auf diese Frage wer ist unten nicht aber in Chats, weil es sehr lang

Antwort

2

Wie es in der Ausgabenachricht angezeigt wird, verwenden Sie die lokale Derby-Datenbank von Metastore, und standardmäßig ist seine Position /usr/lib/hive/apache-hive-2.0.0-bin/metastore_db, aber anscheinend haben Sie nicht die Berechtigung, auf t zu schreiben hat Verzeichnis

Sie sollten das Metastore-Verzeichnis an einen Speicherort ändern, an dem Sie die Schreibberechtigung haben.

Um die Position Metastore Verzeichnis zu ändern, in hive-site.xml add (oder Modifiy) die folgende Eigenschaft:

<property> 
    <name>javax.jdo.option.ConnectionURL</name> 
    <value>jdbc:derby:;databaseName=/PATH/TO/NEW/METASTORE/DIR/metastore_db;create=true</value> 
    <description>JDBC connect string for a JDBC metastore</description> 
</property> 

Wenn Sie hive-site.xml nicht über die Berechtigung zum Ändern Sie hive-site.xml in setzen könnte ein Verzeichnis zum Beispiel $HOME/hive-config, könnten Sie beginnen, indem Sie die Standard-hive-site.xml kopieren und dann ändern. Dann starten Bienenstock als:

+0

Ich möchte nicht den Derby verwenden, stattdessen möchte ich HBASE verwenden also sollte ich HBASE zuerst installieren, dann beheben Sie diesen Fehler? –

+0

Ich denke, ich bin verrückt geworden. Derby ist Ihr Metastore, wo Sie die Metadaten über Ihre Hive-Tabellen haben, es hat nichts mit den tatsächlichen Daten zu tun, mit denen Sie arbeiten möchten. Die Metastore-Datenbank kann entweder Derby oder eine der folgenden sein: MySQL, Postgres, Oracle oder MS SQL Server https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin#AdminManualMetastoreAdmin-SupportedBackendDatabasesforMetastore – user1314742

+0

Für die Verwendung von Hive mit HBase-Daten , es ist eine andere Frage :) Sie könnten für einen Anfang hier schauen (aber natürlich müssen Sie Ihr Problem gelöst für :)): https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration. Der Fehler, den Sie haben, hängt nicht mit HBase zusammen, aber Sie müssen natürlich eine Client-Bibliothek installieren, um Hive-Konnektivität mit HBase – user1314742