Missing Hive Execution Jar: /usr/local/hadoop/hive

2019-03-01 17:47发布

问题:

I have Hadoop 1.0.4 running on a single node cluster set up on my Ubuntu machine.

I did the following steps to download and install the hive release

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

My hadoop install folder is $HADOOP_HOME/hive and $HADOOP_HOME=/usr/local/hadoop. I set both the environment variables in .bashrc under /home/hduser which is my Hadoop user and the $JAVA_HOME as well.

export HADOOP_HOME=/usr/local/hadoop

export HIVE_HOME=$HADOOP_HOME/hive

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

I have also added the bin folder of both hadoop and hive in my $PATH variable as follows

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

But while running hive from CLI, I am getting the below error.

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

Should I download this jar and add it to the /lib/ or is there some hive-specific environment variables that I need to configure. Any suggestion would be very helpful.

回答1:

I resolved the problem myself but not sure what exactly happened.

By following the process I mentioned in my original question, I created the $HADOOP_HOME/hive but it was giving me a missing jar error.

So, what I did was: I downloaded hive-0.10.0.tar.gz and extracted it under $HADOOP_HOME. So the newly created folder was $HADOOP_HOME/hive-0.10.0.

I copied the entire lot of jars under $HADOOP_HOME/hive-0.10.0/lib to $HADOOP_HOME/hive/lib and when I executed next,

$HADOOP_HOME/hive> bin/hive

It worked! Please note my $HIVE_HOME=$HADOOP_HOME/hive and $HIVE_HOME/bin is added to path. Hope this helps somebody facing similar problem.



回答2:

In my case, a simple reboot helped after setting the PATH variable.



回答3:

i have the same issue,and i use the command "source ~/.bashrc"

problem resolved!



回答4:

Try this :

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


回答5:

The tar file apache-hive-0.13.1-src.tar.gz has a missing lib folder You can download hive-0.12.0.tar.gz and move the lib folder to apache-hive-0.13.1-src folder. Now hive should be working.



回答6:

Just find your hive-exec-*.jar folder and create a symbolic link to it.

in my case, first i go to hive folder using "cd /usr/local/Cellar/hive/1.2.1"

and then run command "ln -s libexec/lib/ lib"



回答7:

Just want to post what worked for me (in 2017).

Using Spark 2.0.2, I had to change my $HIVE_HOME variable (which in my case, constituted me just removing the variable from my .bash_profile.

Hope this helps someone else.



回答8:

Here is another post for what worked for me in 2017.

This issue happened to me because of the way I (a beginner) extracted the Hive tar file. I downloaded "hive-2.3.0" from us.apache.org and extracted the file to /usr/local/hive. The jar was expected to be in /usr/local/hive/lib but for some reasons it was in /usr/local/hive**/bin/**lib. In other words, there was an extra "/bin" directory under /hive which contained all of the files that should have been directly under /hive. I fixed this problem by renaming the extra /bin directory to "/bin2," moving all the files from within /bin2 to the main /hive directory, and removing the unnecessary and now empty /bin2 directory. Once the .jar file was in the correct directory, there were no problems running Hive! Here are the commands I used:

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


回答9:

I did below in Dec 2017 and it worked.

  1. Copied hive in to hadoop_home directory
  2. Did below in cygwin:

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


回答10:

The question is about that the hive path, So you can check up all configuration file involving the hive path. Remember that you must confirm that the hadoop had been installed.

1, the environment parameter(/etc/profile or ~/.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 is based on Hadoop, so you must configure the hadoop's path on the hive-env.sh.



回答11:

  1. Try cross checking your environment variable path, in case you typed it wrong.

  2. Try Reloading .bashrc by typing following command

    source ~/.bashrc

  3. Try rebooting your machine