2014-04-22 34 views
0

我想安裝hadoop在我的Windows 7環境中,並運行它與cygwin。 我已經下載並安裝了Cygwin,並配置SSH 我已經設置的cygwin的.bashrc裏面的Java類路徑和設置所有的Hadoop配置文件我的.bashrc文件中列出hadoop在Windows與cygwin noclassdefinition發現錯誤

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定義發現錯誤,有沒有一些別的東西,我需要用配置做。我使用的是Windows 7 64位和Hadoop版本2.2.0

+0

Hadoop的2.2.0版本是與Windows不兼容..我降級我的hadoop到1.8版本,它的工作 – rocky

+1

按照所描述的步驟這裏http://www.srccodes.com/p/article/38/build-install-configure-run-apache-hadoop-2.2.0-microsoft-windows-os],這可以完美地設置一個Hadoop環境windows機器。 – Kalai

回答

1

一些提示:

  1. 的文件夾中安裝JDK,該路徑必須是沒有任何空白。
  2. 設置這樣的路徑:

    $ export JAVA_HOME=/cygdrive/c/Program_Files/Java/jdk1.7.0_71 
    
  3. 確保出口是succesfull通過執行:

    $ env | grep -i JAVA_HOME 
    

    這應該打印:

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

    sh -x bin/hdfs version 
    
  5. 運行.sh腳本與sh -x

    sh -x bin/hdfs namenode -format