7

我在我的 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/ 还是需要配置一些特定于配置单元的环境变量。任何建议都会非常有帮助。

4

12 回答 12

2

我自己解决了这个问题,但不确定到底发生了什么。

按照我在原始问题中提到的过程,我创建了 $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

有效!请注意我的 $HIVE_HOME=$HADOOP_HOME/hive 和 $HIVE_HOME/bin 已添加到路径中。希望这可以帮助面临类似问题的人。

于 2013-04-16T21:16:53.277 回答
1

tar 文件 apache-hive-0.13.1-src.tar.gz 缺少 lib 文件夹 您可以下载 hive-0.12.0.tar.gz 并将 lib 文件夹移动到 apache-hive-0.13.1-src 文件夹。现在蜂巢应该可以工作了。

于 2014-11-05T09:14:57.677 回答
1

只需找到您的 hive-exec-*.jar 文件夹并创建一个符号链接即可。

就我而言,首先我使用“cd /usr/local/Cellar/hive/1.2.1”进入 hive 文件夹

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

于 2016-01-16T22:13:57.200 回答
1

我有同样的问题,我使用命令“source ~/.bashrc”

问题解决了!

于 2016-06-06T07:39:24.250 回答
0

尝试这个 :

export HIVE_HOME=$HADOOP_HOME/hive/build/dist
export PATH=$HIVE_HOME/bin:$PATH
于 2013-04-14T23:07:09.690 回答
0

就我而言,设置 PATH 变量后,简单的重新启动会有所帮助。

于 2013-07-05T07:24:55.597 回答
0

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

  1. 将 hive 复制到 hadoop_home 目录
  2. 在cygwin下面做了:

    export HIVE_HOME=$HADOOP_HOME/hive
    export PATH=$HIVE_HOME/bin:$PATH
    
于 2017-12-05T02:29:36.010 回答
0

这是 2017 年对我有用的另一篇文章。

这个问题发生在我身上,因为我(初学者)提取 Hive tar 文件的方式。我从us.apache.org下载了“hive-2.3.0”并将文件解压缩到 /usr/local/hive。该 jar 应位于 /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-08-12T12:04:51.243 回答
0
  1. 尝试交叉检查您的环境变量路径,以防您输入错误。

  2. 尝试通过键入以下命令重新加载 .bashrc

    source ~/.bashrc

  3. 尝试重新启动您的机器
于 2018-06-19T18:05:14.310 回答
0

只想发布对我有用的东西(2017 年)。

使用 Spark 2.0.2,我不得不更改我的$HIVE_HOME变量(在我的情况下,这构成了我只是从我的.bash_profile.

希望这对其他人有帮助。

于 2017-02-21T19:37:05.200 回答
0

问题是关于配置单元路径的,所以你可以检查所有涉及配置单元路径的配置文件。请记住,您必须确认已安装 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 的路径。

于 2017-12-22T03:12:12.410 回答
0

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}
于 2021-10-17T21:16:22.547 回答