Hive内部错误:java.lang.ClassNotFoundException(org.apache.atlas.hive.hook.HiveHook)

时间:2015-09-24 11:14:35

标签: hadoop hive oozie hue

我正在使用hue运行hive查询throwh oozie ..
我正在通过hue-oozie工作流程创建一个表...
我的工作失败但是当我在蜂房中检查时,表格已经创建了 日志显示如下错误:

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

4 个答案:

答案 0 :(得分:7)

基本上这个错误是由于oozie共享库中缺少atlas jar。 在HDP中,Atlas jar可在/usr/hdp/2.3.0.0-2557/atlas/中找到 将所有与atlas相关的罐子放入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,检查共享/ lib文件夹的确切路径。]

答案 1 :(得分:2)

hive&gt;添加jar / usr / hdp // atlas / hook / hive / hive-bridge - $ {VERSION} .jar

没关系。

希望对你有所帮助。

答案 2 :(得分:1)

看起来你没有找到CLASS例外。

您是否安装了Oozie Sharedlib,如果是,请更新sharedLib位置中所有依赖于hive的Jar,并检查状态是否

同时检查Hive Client是否在群集下的所有节点中都可用,并且应该正在运行

答案 3 :(得分:1)

我尝试了本论坛和stackoverflow中提到的每一个可能的解决方案,但它没有解决我的问题。 最后,我通过将/ hook / hive中的所有jar复制到我的oozie工作流中的lib(在job.properties级别创建一个新的lib文件夹)文件夹来解决它