JAVA_HOME not setting

25,424

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

  1. Download "jdk-6u32-linux-i586.bin"
  2. sh jdk-6u32-linux-i586.bin

  3. mv /etc/alternatives/java /etc/alternatives/java_bak mv /etc/alternatives/javac /etc/alternatives/javac_bak

  4. 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)

Share:
25,424
Vardan Gupta
Author by

Vardan Gupta

Updated on July 10, 2022

Comments

  • Vardan Gupta
    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 (edited export 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.