JAVA_HOME not setting
Solution 1
Check if bin/start-all.sh
doesn't override JAVA_HOME
Maybe put echo $JAVA_HOME
inside that script straight before execution of those binaries?
Solution 2
I simply added to the ./conf/hadoop-env.sh this line:
# The java implementation to use. Required.
export JAVA_HOME=/usr/java/latest
and it helped
Solution 3
The JAVA_HOME variable you set with set JAVA_HOME=
is relevant only for the current shell. Given that you are starting a new shell when executing bin/start-all.sh
you need to "export" the environmental variable to make it available in the global scope:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
Solution 4
Installing java 1.6.x
- Download "jdk-6u32-linux-i586.bin"
sh jdk-6u32-linux-i586.bin
mv /etc/alternatives/java /etc/alternatives/java_bak mv /etc/alternatives/javac /etc/alternatives/javac_bak
create link ln -s /opt/jdk1.6.0_32/bin/java /etc/alternatives/java ln -s /opt/jdk1.6.0_32/bin/javac /etc/alternatives/javac
5. java -version
-----------you must see this -------------------------------- java version "1.6.0_32" Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) Client VM (build 20.7-b02, mixed mode, sharing)
Vardan Gupta
Updated on July 10, 2022Comments
-
Vardan Gupta almost 2 years
While working on Hadoop Implementation in Pseudo-Distributed Operation, I found following exception of JAVA_HOME variable not setting, but When I tried to echo it, it was set.
Variable is preset in
conf/hadoop-env.sh
(editedexport JAVA_HOME=/usr/lib/jvm/java-6-sun
),bash.bashrc
.vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ echo $JAVA_HOME /usr/lib/jvm/java-6-sun vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ bin/start-all.sh starting namenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-namenode-vardan-HP-G62-Notebook-PC.out localhost: starting datanode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-datanode-vardan-HP-G62-Notebook-PC.out localhost: Error: JAVA_HOME is not set. localhost: starting secondarynamenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-secondarynamenode-vardan-HP-G62-Notebook-PC.out localhost: Error: JAVA_HOME is not set. starting jobtracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-jobtracker-vardan-HP-G62-Notebook-PC.out localhost: starting tasktracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-tasktracker-vardan-HP-G62-Notebook-PC.out localhost: Error: JAVA_HOME is not set.