问题描述
我按照“http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html”在ubuntu上安装hadoop。但是,在检查hadoop版本后,我收到以下错误:
Error: Could not find or load main class org.apache.hadoop.util.VersionInfo
此外,当我尝试:hdfs namenode -format
我收到以下错误:
Error: Could not find or load main class org.apache.hadoop.hdfs.server.namenode.NameNode
使用的java版本是:
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
最佳解决方法
这是环境变量设置的问题。显然,我找不到一个可以工作直到现在。我在尝试2.6.4。这是我们应该做的
export HADOOP_HOME=/home/centos/HADOOP/hadoop-2.6.4
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
将这些添加到.bashrc中,别忘了
source ~/.bashrc
我认为你的问题将像我的一样解决。
次佳解决方法
您可能没有正确遵循说明。以下是一些可以帮助我们/您诊断的事情:
-
在运行
hadoop version
的shell中,运行export
并向我们显示相关环境变量的列表。 -
向我们展示您在
/usr/local/hadoop/etc/hadoop/hadoop-env.sh
文件中的内容。 -
如果以上都没有给你/我们任何线索,那么找到并使用文本编辑器(暂时)修改
hadoop
包装器shell脚本。在开头附近的某处添加“set -xv”行。然后运行hadoop version
,并向我们展示它产生的内容。
第三种解决方法
我面临同样的问题。虽然看起来很简单,但我花了2小时的时间。我尝试了以上所有的事情,但没有帮助。
我只是退出我所在的shell并再次登录系统再次尝试。然后事情奏效了!
第四种方法
将此行添加到〜/.bash_profile为我工作。
export HADOOP_PREFIX=/<where ever you install hadoop>/hadoop
所以就:
-
$ sudo open~ /.bash_profile然后添加上述行
-
$ source~ /.bash_profile
希望这可以帮助 (: