可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.
- Copied hive in to hadoop_home directory
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:
Try cross checking your environment variable path, in case you typed it wrong.
Try Reloading .bashrc by typing following command
source ~/.bashrc
- Try rebooting your machine