CDH4 JAVA_HOME Ubuntu

时间:2013-12-15 18:24:19

标签: linux ubuntu hadoop

我已经在CentOs上以伪分布式模式安装了CDH4而没有任何问题,但是当我在Ubuntu 12.04上安装它时,我在设置我的JAVA_HOME环境变量时出现了一些错误。

我安装了JDK,并使用以下行在/etc/profile.d~/bash.rc中正确设置了JAVA_HOME:

export JAVA_HOME=/usr/local/java/latest
export PATH=${JAVA_HOME}/bin:$PATH

我知道在两个地方定义它都是多余的,但显然在/etc/profile.d中设置它是行不通的。从我的用户那里,当我输入$echo $JAVA_HOME时,我得到:

/usr/local/java/latest

从sudo,我运行$ sudo -E echo $JAVA_HOME,我得到:

/usr/local/java/latest

如果您想知道,我正在为sudo指定-E选项来保护我的环境。

所以我真正的问题是当我尝试使用以下命令启动HDFS时:

for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done

我收到以下错误:

* Starting Hadoop datanode: 
Error: JAVA_HOME is not set and could not be found.

使用-E选项运行相同的命令会得到相同的结果。有人有这个问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

经过一番研究,我找到了问题的答案。

我正在使用CDH4并以伪分布式模式安装hadoop。

要解决我的JAVA_HOME问题,我在hadoop-env.sh

中创建了/etc/hadoop/conf.pseudo.mr1文件

该文件包含以下行:

export JAVA_HOME=/usr/local/java/latest

其中/ usr / local / java / latest是我安装JAVA_HOME的路径