我已经在CentO上以伪分布式模式安装了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选项运行相同的命令可以得到相同的结果。有人遇到过这个问题吗?
提前致谢。
最佳答案
经过研究,我找到了问题的答案。
我正在使用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的路径
关于linux - CDH4 JAVA_HOME Ubuntu,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20598044/