配置hadoop-1.2.1出現localhost: Error: JAVA_HOME is not set.
具體為:
hadoop@dy-virtual-machine:~/hadoop-1.2.1$ start-all.sh
starting namenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-namenode-dy-virtual-machine.out
localhost: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-dy-virtual-machine.out
localhost: Error: JAVA_HOME is not set.
localhost: starting secondarynamenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-secondarynamenode-dy-virtual-machine.out
localhost: Error: JAVA_HOME is not set.
starting jobtracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-jobtracker-dy-virtual-machine.out
localhost: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-dy-virtual-machine.out
localhost: Error: JAVA_HOME is not set.
解決方法:
在/hadoop-1.2.1/conf/文件夾里有個hadoop-env.sh的文件,它的作用是配置與hadoop運行環境相關的變量
找到:
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/jvm/java-6-sun
將#號去掉,變為:
改成你本機的jdk路徑,執行完退出
:wq
若你不清楚自己的jdk路徑,你可以先執行 echo $JAVA_HOME 進行查看