linux - Hadoop:«错误:未设置 JAVA_HOME»

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

# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

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

$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 
$ cat output/*

但是在执行第三条命令时出现如下错误:

ERROR : JAVA_HOME is not set

JAVA_HOME变量是否设置不正确?

最佳答案

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

# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

应该是

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk

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

另外,不要忘记通过注销/登录或执行 source/etc/profile 来激活新更改。

https://stackoverflow.com/questions/8827102/

相关文章:

linux - 为什么使用 dd 克隆磁盘时使用 conv=notrunc?

linux - 是否可以使用 shell 脚本递归地创建文件夹?

linux - 仅当变量包含特定字符串时才运行 Ansible 任务

linux - yum 可以告诉我哪些存储库提供了特定的包吗?

python - 如何从 subprocess.Popen() 获取输出。 proc.stdout.

linux - shell 脚本 : Run function from script over s

linux - 如何获取自上次使用 bash 修改文件以来的时间(以秒为单位)?

linux - 导出在我的 shell 脚本中不起作用

c++ - 在 64 位 Linux 操作系统上编译 32 位程序导致 fatal error

linux - 如何从 Bash 中的字符串中删除所有非数字字符?