2015-09-24 23 views
7

Sto eseguendo una query hive throwh oozie usando hue ..
Sto creando una tabella attraverso il flusso di lavoro hue-oozie ...
Il mio lavoro ha esito negativo, ma quando eseguo il check-in l'hive viene creata la tabella.
registro mostra sotto l'errore:Errore interno Hive: java.lang.ClassNotFoundException (org.apache.atlas.hive.hook.HiveHook)

16157 [main] INFO org.apache.hadoop.hive.ql.hooks.ATSHook - Created ATS Hook 
2015-09-24 11:05:35,801 INFO [main] hooks.ATSHook (ATSHook.java:<init>(84)) - Created ATS Hook 
16159 [main] ERROR org.apache.hadoop.hive.ql.Driver - hive.exec.post.hooks Class not found:org.apache.atlas.hive.hook.HiveHook 
2015-09-24 11:05:35,803 ERROR [main] ql.Driver (SessionState.java:printError(960)) - hive.exec.post.hooks Class not found:org.apache.atlas.hive.hook.HiveHook 
16159 [main] ERROR org.apache.hadoop.hive.ql.Driver - FAILED: Hive Internal Error: java.lang.ClassNotFoundException(org.apache.atlas.hive.hook.HiveHook) 
java.lang.ClassNotFoundException: org.apache.atlas.hive.hook.HiveHook 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 

Non in grado di identificare il problema ....
Sono usig HDP 2.3.1

risposta

7

Fondamentalmente questo errore è dovuto alla mancanza del vaso di atlante nella lib di condivisione di oozie. Nel HDP il vaso Atlas è disponibile in /usr/hdp/2.3.0.0-2557/atlas/ mettere tutti i barattoli legati alla atlante in Hadoop quota lib ..

hadoop fs -put /usr/hdp/2.3.0.0-2557/atlas/hook/hive/* /user/oozie/share/lib/lib200344/hive 

Aggiungi 'export HIVE_AUX_JARS_PATH=<atlas package>/hook/hive' in hive-env.sh.
Copia <atlas package>/conf/application.properties per aprire la directory conf.

Riavviare i servizi Oozie. Questo risolverà questo problema. Se qualcuno si trova ad affrontare il problema, si prega di commentare qui in modo che possa aiutare.

[Commento di Immo Huneke: quando si utilizzava la macchina virtuale sandbox Hortonworks, ho scoperto che bastava inserire i file jar nella cartella share/lib sotto HDFS per risolvere il problema. Non ho dovuto aggiornare hive-env.sh o copiare il file application.properties. Ma controlla il percorso esatto della tua cartella share/lib eseguendo il comando hdfs dfs -ls /user/oozie/share/lib prima di copiare.]

1

Sembra che CLASS non viene trovato eccezione.

Avete installato Oozie Sharedlib, se sì, si prega di aggiornare tutti i JAR dipendenti alveare nel sharedLib posizione, e verificare se lo stato

anche controllare se Hive client è disponibile in tutti i nodi sotto il cluster e lo stesso dovrebbe essere in esecuzione

+0

Sì. Ho aggiornato tutti i barattoli che non c'è ..ancora lo stesso numero – Aman

2

hive> aggiungi jar /usr/hdp//atlas/hook/hive/hive-bridge-${VERSION}.jar

sarà ok.

speranza aiuto per voi.

+0

Grazie .. Ho già fatto la stessa cosa..e ho lavorato per me..Per favore, trova la risposta qui sotto .. – Aman

1

Ho provato ogni soluzione possibile menzionata in questo forum e in StackOverflow, ma non ha risolto il mio problema. Infine, l'ho risolto copiando tutti i vasi in/hook/hive su lib (crea una nuova cartella lib a livello job.properties) cartella del mio flusso di lavoro oozie