簡體   English   中英

缺少 Hive 執行 Jar:/usr/local/hadoop/hive/lib/hive-exec-*.jar

[英]Missing Hive Execution Jar: /usr/local/hadoop/hive/lib/hive-exec-*.jar

我在我的 Ubuntu 機器上設置的單節點集群上運行 Hadoop 1.0.4。

我做了以下步驟來下載和安裝 hive 版本

> svn co http://svn.apache.org/repos/asf/hive/trunk hive    
> cd hive

我的 hadoop 安裝文件夾是 $HADOOP_HOME/hive 和 $HADOOP_HOME=/usr/local/hadoop。 我在/home/hduser 下的.bashrc 中設置了兩個環境變量,這是我的Hadoop 用戶和$JAVA_HOME。

export HADOOP_HOME=/usr/local/hadoop

export HIVE_HOME=$HADOOP_HOME/hive

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

我還在 $PATH 變量中添加了 hadoop 和 hive 的 bin 文件夾,如下所示

export PATH=$PATH:$HADOOP_HOME/bin    
export PATH=$HIVE_HOME/bin:$PATH

但是在從 CLI 運行 hive 時,我收到以下錯誤。

hduser@somnath-laptop:/usr/local/hadoop/hive$ bin/hive    
Missing Hive Execution Jar: /usr/local/hadoop/hive/lib/hive-exec-*.jar

我應該下載這個 jar 並將其添加到 /lib/ 中,還是需要配置一些特定於 hive 的環境變量。 任何建議都會非常有幫助。

我自己解決了問題,但不確定到底發生了什么。

通過遵循我在原始問題中提到的過程,我創建了$ HADOOP_HOME / hive,但它給了我一個缺少的jar錯誤。

因此,我所做的是:我下載了hive-0.10.0.tar.gz並將其提取到$ HADOOP_HOME下。 因此,新創建的文件夾為$ HADOOP_HOME / hive-0.10.0。

我將$ HADOOP_HOME / hive-0.10.0 / lib下的所有jar都復制到$ HADOOP_HOME / hive / lib,然后在下次執行時,

$ HADOOP_HOME / hive> bin /蜂巢

有效! 請注意,我的$ HIVE_HOME = $ HADOOP_HOME / hive和$ HIVE_HOME / bin已添加到路徑。 希望這可以幫助面臨類似問題的人。

以我為例,在設置PATH變量后,進行一次簡單的重新引導很有幫助。

我有同樣的問題,我使用命令“ source〜/ .bashrc”

問題解決了!

嘗試這個 :

export HIVE_HOME=$HADOOP_HOME/hive/build/dist
export PATH=$HIVE_HOME/bin:$PATH

tar文件apache-hive-0.13.1-src.tar.gz缺少lib文件夾您可以下載hive-0.12.0.tar.gz並將lib文件夾移至apache-hive-0.13.1-src文件夾。 現在,蜂巢應該可以工作了。

只要找到您的hive-exec-*。jar文件夾並創建一個符號鏈接即可。

就我而言,首先我使用“ cd /usr/local/Cellar/hive/1.2.1”轉到配置單元文件夾

然后運行命令“ ln -s libexec / lib / lib”

只想發布對我有用的內容(2017年)。

使用Spark 2.0.2,我必須更改$HIVE_HOME變量(在我的情況下,這只是將我的.bash_profile的變量刪除了。

希望這對其他人有幫助。

這是2017年對我有用的另一篇文章。

由於我(初學者)提取Hive tar文件的方式而發生此問題。 我從us.apache.org下載了“ hive-2.3.0”, 並將文件提取到/ usr / local / hive。 該罐子應該位於/ usr / local / hive / lib中,但由於某些原因,它位於/ usr / local / hive ** / bin / ** lib中。 換句話說,在/ hive下有一個額外的“ / bin”目錄,其中包含應該直接在/ hive下的所有文件。 我通過將多余的/ bin目錄重命名為“ / bin2”,將所有文件從/ bin2內移至主/ hive目錄,並刪除了不必要的,現在為空的/ bin2目錄,解決了此問題。 一旦.jar文件位於正確的目錄中,運行Hive就不會有問題! 這是我使用的命令:

    cd /usr/local
    mv hive/bin hive/bin2
    mv hive/bin2/* hive
    rm -r hive/bin2

我在2017年12月在下面做了,它奏效了。

  1. 將配置單元復制到hadoop_home目錄
  2. 在cygwin中做了以下內容:

     export HIVE_HOME=$HADOOP_HOME/hive export PATH=$HIVE_HOME/bin:$PATH 

問題是關於配置單元路徑,因此您可以檢查涉及配置單元路徑的所有配置文件。 請記住,您必須確認已經安裝了Hadoop。

1,環境參數(/ etc / profile或〜/ .profile)

export HIVE_HOME=/usr/app/apache-hive-2.3.0-bin
export PATH=$HIVE_HOME/bin:$PATH

2,$ HIVE_HOME / conf / hive-env.sh

export JAVA_HOME= ${Your_JAVA_HOME_directory}
export HADOOP_HOME= ${Your_HADOOP_HOME_directory}
export HIVE_HOME= ${Your_HIVE_HOME_directory}
export HIVE_CONF_DIR= ${Your_HIVE_HOME_directory}/conf

Hive基於Hadoop,因此您必須在hive-env.sh上配置hadoop的路徑。

  1. 嘗試交叉檢查您的環境變量路徑,以防您鍵入錯誤。

  2. 嘗試通過鍵入以下命令來重新加載.bashrc

    source ~/.bashrc

  3. 嘗試重新啟動計算機

2021 年 - 由於 $HIVE_HOME 環境變量配置錯誤而出現類似問題

具體來說,我有:

$HIVE_HOME="/usr/local/hadoop/hive/ bin "

所以 hive在 $HIVE_HOME/lib/hive-exec- .jar 中尋找 lib/hive- exec- .jar 這是錯誤的


因此,工作配置是:

$HIVE_HOME="/usr/local/hadoop/hive"  # Or wherever you hive is installed
export PATH=${HIVE_HOME}/bin:${PATH}

暫無
暫無

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

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