我正在尝试使用命令
运行所有hadoop守护进程./start-all.sh
来自主要主机群集。由于执行多次给出
starting namenode, logging to /export/hadoop-1.0.1/libexec/../logs/hadoop--namenode-one.out
192.168.1.10: starting datanode, logging to /export/hadoop-1.0.1/libexec/../logs/hadoop-hadoop-datanode-myhost2.out
192.168.1.10: Error: JAVA_HOME is not set.
即使在虚拟机上执行到192.168.1.10命令的地址
之后,它也发生了几次hadoop@myhost2:~$ export JAVA_HOME=/opt/jdk1.7.0_06
请一劳永逸地告诉JAVA_HOME变量。
答案 0 :(得分:1)
将行export JAVA_HOME=/path/to/java
放在start-all.sh脚本的开头,应该这样做。
答案 1 :(得分:1)
$ vi ~/.bash_proflle
将此行附加到文件
export JAVA_HOME=/opt/jdk1.7.0_06
将对JAVA_HOME
环境变量进行永久性更改。
答案 2 :(得分:1)
你也应该在hadoop-env.sh
文件中设置 JAVA_HOME 。哪个位于hadoop的$HADOOP_INSTALL/hadoop/conf
目录中。默认情况下,JAVA_HOME设置行被注释
hadoop-env.sh - 此文件包含一些环境变量设置 由Hadoop使用。您可以使用它们来影响Hadoop的某些方面 守护程序行为,例如存储日志文件的位置,最大值 使用的堆数等。您应该更改的唯一变量 在这个文件中是JAVA_HOME
或者您可以将其添加到hadoop帐户的以下文件中。
~/.bash_proflle