当前位置: 首页>>技术问答>>正文


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

, , , ,

问题描述

我按照“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

所以就:

  1. $ sudo open~ /.bash_profile然后添加上述行

  2. $ source~ /.bash_profile

希望这可以帮助 (:

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6763.html,未经允许,请勿转载。