我试图在hadoop上执行下面的命令
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上不起作用。
4条答案
按热度按时间myss37ts1#
如果使用cdh,可能需要将java版本更改为jdk1.7.0\u 67-cloudera。在我把 java 岛从
/usr/java/jdk1.6.0_31
至/usr/java/jdk1.7.0_67-cloudera
,我解决了问题。bsxbgnwa2#
该命令不起作用,因为它指向节点上可用的较新版本的hadoop jar,而不是已安装版本的hadoop jar
它指向放在盒子里的jar
然后我尝试从安装目录执行它,如下所示
它对我有用。
s4chpxco3#
尝试将jdk更新到1.7版本。也许,您已经更新了jre而不是jdk。
5jdjgkvh4#
您需要Java7(或更高版本)来运行这个。请参见:https://www.java.com/de/download/faq/java_7.xml
如果已经安装了java 7(或更高版本),请使用以下命令执行: