2015-10-07 62 views
1

我試圖在Hadoop異常線程 「main」 因爲java.lang.UnsupportedClassVersionError:組織/阿帕奇/的Hadoop/FS/FsShell:不支持MAJOR.MINOR版本51.0

執行
hadoop fs -ls/

下面的命令,但它是與錯誤返回

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hadoop/fs/FsShell : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    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.fs.FsShell. Program will exit. 

我試過更新java,但它仍然給我同樣的錯誤。

注意:對於羣集節點,相同的命令在其他節點上工作,但不在2上。

回答

0

該命令不工作,因爲它指向的Hadoop罐子的節點,而不是安裝版Hadoop的罐子上即時拍攝的新版本

有人指着放在

/usr/lib/hadoop 

罐然後我試圖執行它從安裝目錄下面如下

/opt/cloudera/parcels/CDH/lib/hadoop/bin/hadoop fs -ls/

它爲我工作。

1

如果您使用了CDH,則可能需要將java版本更改爲jdk1.7.0_67-cloudera。在將JAVA_HOME從/usr/java/jdk1.6.0_31更改爲/usr/java/jdk1.7.0_67-cloudera後,我解決了這個問題。

0
Unsupported major.minor version 51.0 

您需要Java 7(或更高版本)才能運行此操作。 見:

C:\Program Files\Java\<Java Version (jre7/jre8>\bin\java.exe -jar <Path To .Jar> 
相關問題