【转】Error:JAVA_HOME is not set and could not be found

如果stop-dfs.sh也报了这个错,把$HADOOP_HOME/libexec/hadoop-config.sh中的如下内容之前加上 export JAVA_HOME=/home/lqr/Tools/jdk1.8.0_151

# Attempt to set JAVA_HOME if it is not set
if [[ -z $JAVA_HOME ]]; then
# On OSX use java_home (or /Library for older versions)
if [ "Darwin" == "$(uname -s)" ]; then
if [ -x /usr/libexec/java_home ]; then
export JAVA_HOME=($(/usr/libexec/java_home))
else
export JAVA_HOME=(/Library/Java/Home)
fi
fi

# Bail if we did not detect it
if [[ -z $JAVA_HOME ]]; then
echo "Error: JAVA_HOME is not set and could not be found." 1>&2
exit 1
fi
fi

------------------------------------------------------------------------------------------

【备注】其实yarn-env.sh里面也需要类似的改动

yarn-env.sh里面把

if [ "$JAVA_HOME" != "" ]; then
#echo "run java in $JAVA_HOME"
JAVA_HOME=$JAVA_HOME
fi

改为

if [ "$JAVA_HOME" != "" ]; then
#echo "run java in $JAVA_HOME"
JAVA_HOME=/home/lqr/Tools/jdk1.8.0_151
fi

------------------------------------------------------------------------------------------

原文:http://blog.csdn.net/dianzishijian/article/details/52094569

很多人按照网上的各类教程搭建hadoop,但经常在安装好了后,启动hadoop时出现各类的错误,本文就“Error:JAVA_HOME is not set and could not be found ”这一错误提出解决办法。

针对这个错误,网上好多都说了java的路径设置有问题,但没有指出具体的修改方法,其实是hadoop里面hadoop-env.sh文件里面的java路径设置不对,hadoop-env.sh在hadoop/etc/hadoop目录下,具体的修改办法如下:

sudo vim hadoop/etc/hadoop/hdoop-env.sh

将语句      export JAVA_HOME=$JAVA_HOME    

修改为      export JAVA_HOME=/usr/java/jdk1.8.0_101

保存后退出。

再次输入start-dfs.sh启动hadoop,则没有报错。

posted @ 2017-11-19 15:30  rldts  阅读(1215)  评论(0编辑  收藏  举报