2015-09-24 5 views
7

मैं एक छत्ता क्वेरी throwh oozie रंग का उपयोग कर चला रहा हूँ ..
मैं रंग-oozie कार्य प्रवाह के माध्यम से एक तालिका बनाने हूँ ...
मेरा काम असफल रहा है, लेकिन जब मैं हाइव में चेक करता हूं तो तालिका बनाई जाती है।
लॉग त्रुटि नीचे पता चलता है:हाइव आंतरिक त्रुटि: 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) 
नहीं

मुद्दा ....
मैं HDP 2.3.1

उत्तर

7

मूल रूप से यह त्रुटि oozie share lib में अनुपस्थित अटलास जार के कारण है। .. HDP में एटलस जार में /usr/hdp/2.3.0.0-2557/atlas/ सभी Hadoop शेयर lib में एटलस से संबंधित जार रखो उपलब्ध है

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

hive-env.sh में 'export HIVE_AUX_JARS_PATH=<atlas package>/hook/hive' जोड़ें।
<atlas package>/conf/application.properties कॉपी निर्देशिका को हाइव करने के लिए कॉपी करें।

ओज़ी सेवाओं को पुनरारंभ करें। यह इस समस्या को हल करेगा। अगर किसी को समस्या का सामना करना पड़ता है तो कृपया यहां टिप्पणी करें ताकि मैं मदद कर सकूं।

[इम्मो हुनके द्वारा टिप्पणी: हॉर्टनवर्क्स सैंडबॉक्स वीएम का उपयोग करते समय, मैंने पाया कि एचडीएफएस के तहत शेयर/lib फ़ोल्डर में जार फ़ाइलों को बस समस्या को हल करने के लिए पर्याप्त था। मुझे hive-env.sh अद्यतन करने या application.properties फ़ाइल की प्रतिलिपि बनाने की आवश्यकता नहीं थी। लेकिन कॉपी करने से पहले hdfs dfs -ls /user/oozie/share/lib कमांड को निष्पादित करके अपने शेयर/lib फ़ोल्डर का सही पथ जांचें।]

1

usig हूँ ऐसा लगता है कि कक्षा अपवाद नहीं पाया जाता है पहचान करने में सक्षम।

आप स्थापित Oozie Sharedlib, अगर हाँ, sharedLib स्थान में सभी छत्ता निर्भर जार अपडेट करते हैं और जाँच कृपया अगर स्थिति

यह भी जांच करता है, तो हाइव क्लाइंट क्लस्टर और एक ही के तहत सभी नोड्स में उपलब्ध है है

+0

हां.मैं के छत्ते lib करने के लिए (job.properties स्तर पर एक नया lib फ़ोल्डर बनाने) फ़ोल्डर में/हुक सभी जार को कॉपी करके हल हो गई सभी जार अद्यतन किया है जो वहाँ नहीं है .. एक ही समस्या होने पर – Aman

2

हाइव> jar /usr/hdp//atlas/hook/hive/hive-bridge-${VERSION}.jar जोड़ें

यह ठीक रहेगा।

आशा है कि आपके लिए मदद मिलेगी।

+0

धन्यवाद .. मैंने पहले से ही वही किया है..और मेरे लिए काम किया .. कृपया नीचे दिए गए उत्तर को ढूंढें .. – Aman

1

मैंने इस मंच में और स्टैक ओवरफ्लो में उल्लिखित प्रत्येक संभावित समाधान की कोशिश की, लेकिन इससे मेरी समस्या का समाधान नहीं हुआ। अंत में, मैं यह/मेरी oozie कार्यप्रवाह