2017-03-11 3 views
0

Ich versuche, Bienenstock-contrib-0.10.0.jar in Bienenstock mit ADD JAR hive-contrib-0.10.0.jar Befehl, aber es immer sagen, Bienenstock-contrib -0.10.0.jar existiert nicht.Wie füge ich eine JAR-Datei im Bienenstock hinzu

Ich benutze gerade HDP 2.1 Version. Ich habe auch diese JAR-Datei in /user/root Ordner Farbton verwenden und den Befehl

ADD JAR hdfs:///hive-contrib-0.10.0.jar 

laufen, aber es mir denselben Fehler geben jar file doesn't exist.

Gibt es eine Möglichkeit, dieses Problem zu lösen. Wo sollte ich diese JAR-Datei behalten, damit sie erfolgreich ausgeführt wird und welcher Befehl verwendet wird?

Antwort

0
  1. Sie müssen den vollständigen Pfad zum Jar JAR geben und nicht nur seinen Namen.
  2. Erraten Sie nicht den Standort. Überprüfen Sie das Dateisystem, um zu sehen, dass es da ist, bevor Sie versuchen, es hinzuzufügen.
1

Ich sehe folgende Probleme mit Ihrem Ansatz. Stellen Sie vor dem Hinzufügen sicher, dass Sie die Datei im lokalen Dateisystem oder in den hdfs auflisten können, wo immer sie existiert.

Das Glas Sie versuchen, ist in hive Klassenpfad als Teil von $ HIVE_HOME/lib (auf dem lokalen Dateisystem, wo immer Sie hive Client/Service installiert haben) standardmäßig hinzufügen

auf der anderen Seite in Bezug auf Ihre Frage, wie Gläser in hive hinzuzufügen, können wir lokales Dateisystem oder hadoop Distributed File System (HDFS)

Add jar file:///root/hive-contrib-0.10.0.jar (Given that you copied this jar on LFS root directory) 

Add jar hdfs://<namenode_hostname>:8020/user/root/hive-contrib-0.10.0.jar (Given that you copied to HDFS root home) 
1
  1. laden Sie die JAR-Datei in hdfs Pfad
  2. Fügen Sie die JAR-Datei hinzufügen verwenden Verwenden Sie den Befehl Hinzufügen und HD Voll FS PATH

Beispiel:

hadoop fs -put ~/Downloads/hive.jar /lib/ 

öffnen hive Shell

add jar hdfs:///lib/hive.jar 
2

wenn Sie wollen dauerhaft die Gläser fügen Sie folgende tun müssen. 1. Hive-site.xml (/ etc/Nest/conf)

<property> 
    <name>hive.aux.jars.path</name> 
    <value>file:///mnt1/hive-jars/hive-contrib-2.1.1.jar</value> 
</property> 
  1. hive-contrib-2.1.1.jar auf den Pfad hinzufügen „/ mnt1/hive -jars "konfiguriert in hive-site.xml

Dies sollte idealerweise nach dem Neustart von Hive-Server2 funktionieren. 3. sudo stop hive-server2 4. sudo starten hive-server2

Aber manchmal funktioniert es nicht. Ich bin mir nicht sicher, warum Sie den folgenden schmutzigen Weg verwenden können.

Setzen Sie Ihre JAR-Datei in den folgenden Pfad, damit die Hive-Datei sie beim Neustart automatisch aufnimmt.

  1. hinzufügen hive-contrib-2.1.1.jar nach/usr/lib/hive-hcatalog/share/hcatalog
  2. sudo Stop-hive-server2
  3. sudo starten hive-server2
0

Ich habe diese Antworten oben gelesen, was sehr nützlich war. Und ich kombiniert alle in eine Lösung:

  1. Put-Gläser in der lokalen Festplatte und geben Lese-/Schreibberechtigung

    chmod -R 777 /tmp/json.jar 
    
  2. Upload-Dateisystem HDFS und Berechtigungen geben zu:

    hdfs dfs -put /tmp/json.jar hdfs://1.1.1.1:8020/jars/ 
    hdfs dfs -chmod -R 777 hdfs://1.1.1.1:8020/jars/ 
    
  3. Glas in Hive env.

    add jar hdfs://1.1.1.1:8020/jars/json.jar 
    
Verwandte Themen