我正在使用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/

10-10 13:23