簡體   English   中英

由於缺少jar,無法配置hive.exec掛鈎

[英]Unable to configure hive.exec hooks due to missing jar

我正在嘗試使用Hive並使用'use db'命令切換數據庫。 我的設置是Hadoop 2.4.0和Hive 0.13.1。 我將以下3個屬性添加到.settings文件中

set hive.exec.failure.hooks=org.apache.hadoop.hive.ql.hooks.ATSHook;
set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.ATSHook;
set hive.exec.pre.hooks=org.apache.hadoop.hive.ql.hooks.ATSHook;

然后,我打開hive命令行,通過“ hive -i my.settings”傳入.settings文件,然后得到:

hive> use db;
hive.exec.pre.hooks Class not found:org.apache.hadoop.hive.ql.hooks.ATSHook
FAILED: Hive Internal Error: java.lang.ClassNotFoundException(org.apache.hadoop.hive.ql.hooks.ATSHook)
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

我的類路徑似乎缺少一個jar。 我嘗試在網上搜索一個包含“ org.apache.hadoop.hive.ql.hooks.ATSHook”類的jar,但是沒有運氣。 我嘗試通過以下方式將所有帶有jar的路徑從HIVE_HOME添加到yarn-site.xml:

<property>
    <name>yarn.application.classpath</name>
    <value>
            ...
            /apps/hive/hive-0.13.1/hcatalog/share/hcatalog/*,
            /apps/hive/hive-0.13.1/hcatalog/share/hcatalog/storage-handlers/hbase/lib/*,
            /apps/hive/hive-0.13.1/hcatalog/share/webhcat/java-client/*,
            /apps/hive/hive-0.13.1/hcatalog/share/webhcat/svr/lib/*,
            /apps/hive/hive-0.13.1/lib/*
    </value>
 </property>

仍然沒有運氣。 有誰知道我還需要執行一些其他步驟來配置這些屬性?

顯然,該罐僅在尚未發布的Hive 0.14.0中可用。 因此,我必須根據Hive Wiki上的說明下載並構建Hive。 這很簡單:

mvn clean install -DskipTests -Phadoop-2

一旦構建完成,我就可以做到這一點:

  hive> add jar <HIVE_HOME>/ql/target
      > ;

或通過將此屬性添加到hive-site.xml

    <property>
            <name>hive.aux.jars.path</name>
            <value>file:///<HIVE_HOME>/ql/target/hive-exec-0.14.0-SNAPSHOT.jar</value>
    </property>

我還找到了一個有關插件的幻燈片演示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM