Hadoop:«错误:JAVA_HOME未设置»

kou*_*kou 39 linux hadoop ubuntu-11.04

我正在尝试在Ubuntu 11.10上安装Hadoop.我将JAVA_HOME文件中的变量设置conf/hadoop-env.sh为:

# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
Run Code Online (Sandbox Code Playgroud)

然后我执行这些命令(独立操作):

$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 
$ cat output/*
Run Code Online (Sandbox Code Playgroud)

但执行第三个命令时出现以下错误:

错误:未设置JAVA_HOME

JAVA_HOME不正确的变量?

小智 50

确保您已删除评论标记并更改了您JAVA_HOME的内容hadoop-env.sh以及相应的.bashrc和/或.profile:

# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
Run Code Online (Sandbox Code Playgroud)

应该

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
Run Code Online (Sandbox Code Playgroud)

您可以设置您JAVA_HOMEPATH所有用户(确保您之前没有将此设置为错误的路径)/etc/profile.

另外,不要忘记通过注销/输入或执行来激活新的更改source /etc/profile.


nan*_*itv 31

您还应该JAVA_HOMEhadoop-env.shHadoop配置目录中的文件中进行设置.默认情况下,JAVA_HOME设置行已注释.


ala*_*inm 12

输入echo $JAVA_HOME您的终端,以确保您的JAVA_HOME设置.

您也可以输入java -version以了解您实际使用的java版本.

顺便说一句,阅读你的描述似乎是你的实际写作

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
Run Code Online (Sandbox Code Playgroud)

在文件中conf/hadoop-env.sh,您应该在终端中写入或者输入~/.bashrc~/.profile输入source < path to modified file >.

  • 如果没有任何内容写入echo $ JAVA_HOME",则意味着未正确设置environnement变量.输入sudo vi~/.bashrc然后添加文件:export JAVA_HOME = <java_path> export PATH = $ PATH:<java_path>/bin.然后输入sudo source~/.bashrc (2认同)

Pau*_*lgo 7

您可以添加您的.bashrc文件:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Run Code Online (Sandbox Code Playgroud)

它会在您更新包时动态更改.