Hadoop 2.2.0无法运行start-dfs.sh并出现错误:JAVA_HOME未设置且无法找到

Sky*_*ker 12 ssh hadoop

我在Ubuntu 12.x中正在进行Hadoop的安装工作.我已经有一个deploy用户,我打算用它来在一组机器上运行hadoop.下面的代码演示了我的问题基本上我ssh olympus没有问题但是start-dfs.sh没有做到这一点:

deploy@olympus:~$ ssh olympus
Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.5.0-45-generic x86_64)

    * Documentation:  https://help.ubuntu.com/

Last login: Mon Feb  3 18:22:27 2014 from olympus
deploy@olympus:~$ echo $JAVA_HOME
/opt/dev/java/1.7.0_51

deploy@olympus:~$ start-dfs.sh
Starting namenodes on [olympus]
olympus: Error: JAVA_HOME is not set and could not be found.
Run Code Online (Sandbox Code Playgroud)

Vik*_*dia 23

您可以编辑hadoop-env.sh文件并为Hadoop设置JAVA_HOME

打开文件,找到下面的行

export JAVA_HOME=/usr/lib/j2sdk1.6-sun
Run Code Online (Sandbox Code Playgroud)

取消注释该行并根据您的环境更新java_home

这将解决java_home的问题.

  • 关于这一点很奇怪,你必须在**hadoop-env.sh**文件中明确设置这个值.它不会从你的环境中读取...我不明白这一点. (5认同)

Gan*_*nan 11

在Ubuntu上开箱即用的奇怪错误.目前的路线

export JAVA_HOME=${JAVA_HOME}
Run Code Online (Sandbox Code Playgroud)

在/etc/hadoop/hadoop-env.sh应该从主机获取java home但它没有.

现在只需编辑文件并硬编码java home.