Ali*_*ail 25 bash hadoop java-home ubuntu-12.04
我正在使用Ubuntu 12.04 LTS.
我正在通过hadoop快速入门手册进行伪分布式操作.这似乎简单明了(简单!).
但是,当我尝试跑步时,start-all.sh我得到:
localhost: Error: JAVA_HOME is not set.
Run Code Online (Sandbox Code Playgroud)
我已经阅读了有关此问题的stackoverflow的所有其他建议,并已完成以下操作以确保JAVA_HOME设置:
在/etc/hadoop/conf/hadoop-env.sh我已经设定
JAVA_HOME=/usr/lib/jvm/java-6-oracle
export JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
在/etc/bash.bashrc我已经设定
JAVA_HOME=/usr/lib/jvm/java-6-oracle
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
Run Code Online (Sandbox Code Playgroud)
which java 收益:
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)
java –version 作品
echo $JAVA_HOME 收益:
/usr/lib/jvm/java-6-oracle
Run Code Online (Sandbox Code Playgroud)
我甚至试过成为root并在终端中明确地写了:
$ JAVA_HOME=/usr/lib/jvm/java-6-oracle
$ export JAVA_HOME
$ start-all.sh
Run Code Online (Sandbox Code Playgroud)
如果您可以告诉我如何解决此错误,将不胜感激.我想我的JAVA_HOME某种方式被覆盖了.如果是这样的话,你能解释一下如何让我的出口全球化吗?
小智 56
我正在使用hadoop 1.1,并面临同样的问题.
我通过改变JAVA_HOME变量来解决它/etc/hadoop/hadoop-env.sh:
export JAVA_HOME=/usr/lib/jvm/<jdk folder>
Run Code Online (Sandbox Code Playgroud)
bit*_*tek 19
解决此问题的方法是在conf/hadoop-env.sh文件中导出JAVA_HOME变量.
如果你已经在〜/ .bashrc中导出了该变量并不重要,它仍会显示错误.
因此,编辑 conf/hadoop-env.sh并取消注释"export JAVA_HOME"行并向其添加适当的文件系统路径,即Java JDK的路径.
#要使用的Java实现.需要.
export JAVA_HOME ="/ path/to/java/JDK /"
调试的方法是在 start-all.sh 中添加“echo $JAVA_HOME”。您是在不同的用户名下还是以您自己的身份运行 hadoop 环境?如果是前者,很可能没有为该用户设置 JAVA_HOME 环境变量。
另一个潜在的问题是您错误地指定了 JAVA_HOME,并且您提供的值没有指向 JDK/JRE。请注意,即使 JAVA_HOME 设置不正确,“which java”和“java -version”都可以工作。
| 归档时间: |
|
| 查看次数: |
48251 次 |
| 最近记录: |