我正在尝试在我的 Windows 7 环境中安装 hadoop 并使用 cygwin 运行它。 我已经下载并安装了 cygwin 并配置了 ssh 我已经在 cygwin .bashrc 中设置了 java 类路径并设置了所有 hadoop 配置文件 我的 .bashrc 文件已列出

export JAVA_HOME="C:\\Program Files\\Java\\jdk1.6.0_24" 
export HADOOP_HOME=/home/user/hadoop 
export HADOOP_MAPRED_HOME=/home/user/hadoop 
export HADOOP_COMMON_HOME=/home/user/hadoop 
export HADOOP_HDFS_HOME=/home/user/hadoop 
export YARN_HOME=/home/user/hadoop 
export HADOOP_CONF_DIR=/home/user/hadoop/etc/hadoop 

但是当我运行以下命令时出现找不到类的错误 cygwin 终端上的错误是:

$ ./hadoop version 
java.lang.NoClassDefFoundError: org/apache/hadoop/util/VersionInfo 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.VersionInfo 
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
Could not find the main class: org.apache.hadoop.util.VersionInfo.  Program will exit. 
Exception in thread "main" 

为什么我会收到 noclass definition found 错误,我是否还需要对配置做一些其他事情。我正在使用 Windows 7 64 位和 hadoop 版本 2.2.0

请您参考如下方法:

一些提示:

  1. 将JDK安装到文件夹中,路径不能有空格。
  2. 设置路径如下:

    $ export JAVA_HOME=/cygdrive/c/Program_Files/Java/jdk1.7.0_71 
    
  3. 通过执行确保导出成功:

    $ env | grep -i JAVA_HOME 
    

    这应该打印:

    JAVA_HOME=/cygdrive/c/Program_Files/Java/jdk1.7.0_71 
    
  4. 如果要查看版本,只需执行:

    sh -x bin/hdfs version 
    
  5. 使用 sh -x 运行 .sh 脚本:

    sh -x bin/hdfs namenode -format 
    


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!