2015-09-24 27 views
7

Używam kwerendy wyszukiwania oh z uśmiechem hue ..
Tworzę tabelę poprzez przepływ pracy hue-oozie ...
Moja praca się nie udaje, ale kiedy sprawdzam w ulu, tabela jest tworzona.
Log pokazuje poniżej błędu:Hive Błąd wewnętrzny: 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) 

Nie stanie zidentyfikować problem ....
jestem usig HDP 2.3.1

Odpowiedz

7

Zasadniczo ten błąd wynika z braku zasobnika atlasu w bibliotece oozie share. W HDP słoik Atlas jest dostępny w /usr/hdp/2.3.0.0-2557/atlas/ Umieść wszystkie słoiki związane z atlasu w Hadoop lib zakładowego ..

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

Dodaj 'export HIVE_AUX_JARS_PATH=<atlas package>/hook/hive' w hive-env.sh.
Skopiuj <atlas package>/conf/application.properties do katalogu conf.

Uruchom ponownie usługi oozie. To rozwiąże ten problem. Jeśli ktokolwiek napotka problem, skomentuj tutaj, aby pomóc.

[Komentarz Immo Huneke: podczas korzystania z VM Sandbox Hortonworks, stwierdziłem, że wystarczy umieścić pliki jar w folderze share/lib w HDFS, aby rozwiązać problem. Nie musiałem aktualizować hive-env.sh ani kopiować pliku application.properties. Ale sprawdź dokładną ścieżkę folderu share/lib, wykonując polecenie hdfs dfs -ls /user/oozie/share/lib przed kopiowaniem.]

1

Wygląda to ty klasa nie występuje wyjątek.

Jeżeli masz zainstalowane Oozie Sharedlib, a jeżeli tak, proszę zaktualizować cały rój Jar zależnego od sharedLib Położenie i sprawdzić, czy stan

także sprawdzić, czy Hive Client jest dostępny we wszystkich węzłów w ramach klastra i same powinien być uruchomiony

+0

Tak. Zaktualizowałem wszystkie słoiki, których nie ma .. ma ten sam problem – Aman

2

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

będzie w porządku.

nadzieję, że pomoc dla Ciebie.

+0

Dzięki .. Zrobiłem już to samo .. i opracowałem dla mnie .. proszę znaleźć odpowiedź poniżej .. – Aman

1

Próbowałem każdego możliwego rozwiązania wspomnianego na tym forum iw stackoverflow, ale to nie rozwiązało mojego problemu. Ostatecznie rozwiązałem to, kopiując wszystkie słoiki w/hook/hive do lib (utwórz nowy folder lib na job.properties poziomie) folderu mojego oozie workflow