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

som*_*rti 7 hadoop hive jar environment-variables

我在我的 Ubuntu 机器上设置的单节点集群上运行 Hadoop 1.0.4。

我做了以下步骤来下载和安装 hive 版本

> svn co http://svn.apache.org/repos/asf/hive/trunk hive    
> cd hive
Run Code Online (Sandbox Code Playgroud)

我的 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
Run Code Online (Sandbox Code Playgroud)

我还在 $PATH 变量中添加了 hadoop 和 hive 的 bin 文件夹,如下所示

export PATH=$PATH:$HADOOP_HOME/bin    
export PATH=$HIVE_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

但是在从 CLI 运行 hive 时,我收到以下错误。

hduser@somnath-laptop:/usr/local/hadoop/hive$ bin/hive    
Missing Hive Execution Jar: /usr/local/hadoop/hive/lib/hive-exec-*.jar
Run Code Online (Sandbox Code Playgroud)

我应该下载这个 jar 并将其添加到 /lib/ 中,还是需要配置一些特定于 hive 的环境变量。任何建议都会非常有帮助。

som*_*rti 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 已添加到路径中。希望这可以帮助面临类似问题的人。