无法找到或加载主类 org.apache.hadoop.util.VersionInfo

2022-09-02 03:41:15

我按照“http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html”在ubuntu上安装了hadoop。但是,在检查hadoop版本时,我得到以下错误:

错误:无法找到或加载主类 org.apache.hadoop.util.VersionInfo

另外,当我尝试:hdfs namenode -format

我收到以下错误:

错误:无法找到或加载主类 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)

答案 1

这是一个环境变量设置的问题。显然,直到现在我才找到一个可以工作的方法。我正在尝试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

我认为你的问题会像我的问题一样得到解决。


答案 2

您可能没有正确按照说明进行操作。以下是一些尝试帮助我们/您诊断此问题的方法:

  • 在您运行的 shell 中,运行并向我们显示相关环境变量的列表。hadoop versionexport

  • 向我们展示您在文件中放入的内容。/usr/local/hadoop/etc/hadoop/hadoop-env.sh

  • 如果以上都没有给你/我们任何线索,那么找到并使用文本编辑器(暂时)修改包装器shell脚本。在开头附近的某个位置添加“set -xv”行。然后运行 ,并向我们展示它产生的内容。hadoophadoop version