gpt4 book ai didi

Hadoop:未设置 JAVA_HOME

转载 作者:可可西里 更新时间:2023-11-01 15:41:27 26 4
gpt4 key购买 nike

像世界上其他人一样,我正在关注 this hadoop tutorial .我到了格式化 HDFS 的地步,我明白了:

user@linux01:~$ sudo $HADOOP_INSTALL/bin/hadoop namenode -format
Error: JAVA_HOME is not set.

这很有趣,我在/etc/profiles 中设置了 JAVA_HOME。

user@linux01:~$ tail -n 4 /etc/profile
export JAVA_HOME=/usr/local/jdk1.6.0_32/bin
export JDK_HOME=$JAVA_HOME
export PATH=$PATH:/usr/local/jdk1.6.0_32/bin
export HADOOP_INSTALL=/usr/local/hadoop/hadoop-1.0.3

我是不是搞砸了?

user@linux01:~$ echo $JAVA_HOME
/usr/local/jdk1.6.0_32/bin
user@linux01:~$ ls $JAVA_HOME
appletviewer extcheck jar javac and so forth...

似乎有效。也许它绝对必须在我的 hadoop-env.sh 中设置?

# The java implementation to use.  Required.
export JAVA_HOME=$JAVA_HOME

懒惰,是的,但不管有没有这个评论,我仍然得到“JAVA_HOME 未设置”。我的想法不多了。有人看到我遗漏了什么吗?

最佳答案

感谢@Chris Shain 和@Chris White 的提示。我以 su 身份运行 hadoop,而 su 不会自动知道我设置的环境变量。我以我的 hadoop 用户身份登录(我已将 hadoop 安装目录更改为该用户),并且能够格式化 hdfs。

次要问题:尝试启动Hadoop时,NameNode和JobTracker启动成功,DataNode、SecondaryNameNode和TaskTracker启动失败。我挖了一点。 NameNode和JobTracker是通过hadoop-daemon.sh启动的,而DataNode、SecondaryNameNode和TaskTracker是通过hadoop-daemon*s*.sh启动的。这里的解决方案是在 conf/hadoop-env.sh 中正确设置 JAVA_HOME。

关于Hadoop:未设置 JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10824462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com