我按照来自here的命令在Ubuntu 15.04上安装了Hadoop 2.7.0单节点集群,几乎所有程序都正常,直到命令格式化hdfs。
当我进入
$ hdfs namenode -format
我收到错误:Could not find or load main class Djava.librarary.path=.usr.local.hadoop.lib
在bashrc中我有
#hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/lib/amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
在hadoop-env.sh我有
export JAVA_HOME="/usr/lib/jvm/java-8-oracle"
如何摆脱错误?
我假设java路径出了点问题,但我无法理解...... 有人可以帮忙吗?...
提前致谢。
答案 0 :(得分:1)
在bashrc中单独设置以下变量。删除您设置的所有其他变量,然后尝试
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
如果您还有任何问题,请告诉我。
答案 1 :(得分:0)
是的,看起来你得到了java错误。您需要正确配置JAVA_HOME。 .bashrc和hadoop-env.sh上的JAVA_HOME应该是一样的。
$java -version
你的bin / java和bin / javac的位置是什么?
答案 2 :(得分:0)
我有同样的问题。问题是我在JAVA_HOME
文件中设置了hadoop-env.sh
env变量。
我相信'。'使用以下命令
设置JAVA_HOME
变量时,将显示分隔的路径
set JAVA_HOME=/my/path/to/java
而不是这个你应该只是
JAVA_HOME=/my/path/to/java
一切都会正常启动。