我正在使用hue运行配置单元查询throwh oozie ..
我正在通过hue-oozie工作流程创建一张 table ...
我的工作失败了,但是当我检入 hive 时,表就创建了。
日志显示以下错误:
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)
无法识别问题...。
我是usig HDP 2.3.1
最佳答案
基本上,此错误是由于oozie share lib中缺少Atlas jar。
在HDP中,Atlas jar可通过/usr/hdp/2.3.0.0-2557/atlas/
获得
将所有与 map 集相关的jar放入hadoop share 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
复制到hive conf目录。重新启动oozie服务。这样可以解决这个问题。如果有人遇到问题,请在此处评论,以便我提供帮助。
[Immo Huneke的评论:使用Hortonworks沙箱VM时,我发现仅将jar文件放在HDFS下的share/lib文件夹中就足以解决问题。我不必更新hive-env.sh或复制application.properties文件。但是在复制之前,请通过执行命令
hdfs dfs -ls /user/oozie/share/lib
来检查您的share/lib文件夹的确切路径。]关于hadoop - Hive内部错误: java. lang.ClassNotFoundException(org.apache.atlas.hive.hook.HiveHook),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32759933/