繁体   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