2017-08-22 4 views
1

Ich habe vor kurzem Probleme, während der Installation von Hadoop auf Single-Node-Maschine.Hadoop 2.7.4 Namenknoten nicht gestartet: Nicht unterstützt major.minor Version 52.0

Das Fehlerprotokoll für den Befehl

bin/hadoop namenode -format 

STARTUP_MSG: java = 1.7.0_80 
************************************************************/ 
17/08/22 21:03:56 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT] 
17/08/22 21:03:56 INFO namenode.NameNode: createNameNode [-format] 
17/08/22 21:03:58 ERROR namenode.NameNode: Failed to start namenode. 
java.lang.UnsupportedClassVersionError: org/apache/hadoop/mapreduce/lib/output/SequenceFileAsBinaryOutputFormat : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at org.apache.hadoop.mapreduce.util.ConfigUtil.addDeprecatedKeys(ConfigUtil.java:54) 
    at org.apache.hadoop.mapreduce.util.ConfigUtil.loadResources(ConfigUtil.java:42) 
    at org.apache.hadoop.mapred.JobConf.<clinit>(JobConf.java:119) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:278) 
    at org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2134) 
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:95) 
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:78) 
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:136) 
    at org.apache.hadoop.security.Groups.<init>(Groups.java:79) 
    at org.apache.hadoop.security.Groups.<init>(Groups.java:74) 
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:303) 
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:285) 
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:262) 
    at org.apache.hadoop.security.UserGroupInformation.isAuthenticationMethodEnabled(UserGroupInformation.java:339) 
    at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:333) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:968) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1441) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1566) 
17/08/22 21:03:58 INFO util.ExitUtil: Exiting with status 1 
17/08/22 21:03:58 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at hplap/127.0.1.1 
************************************************************/ 

Die Java-Version ich verwende ist

[email protected]:/usr/local/hadoop$ java -version 
java version "1.7.0_80" 
Java(TM) SE Runtime Environment (build 1.7.0_80-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) 

Die Pfadvariablen

[email protected]:/usr/local/hadoop$ echo $PATH 
/home/hduser/bin:/home/hduser/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/home/hduser/bin:/usr/lib/java/jdk1.7.0_80/bin:/usr/local/hadoop/bin 

Die Java Heim hadoop-env.sh ist ist

export JAVA_HOME =/usr/lib/java/jdk1.7.0_80

+0

Mögliches Duplikat von [So reparieren Sie java.lang.UnsupportedClassVersionError: Nicht unterstützte Major.Minor-Version] (https://StackOverflow.com/questions/10382929/how-to-fix-java-lang-unsupportedclassversionerror-unsupported-major -minor-versi) –

Antwort

3

Dieser Code kompiliert wurde auf Java ausgeführt werden 8. Es scheint, wie Sie eine frühere Version von JVM auf dem Cluster haben.

+1

Ich kann nicht verstehen, warum Apache gezeigt hat, dass Hadoop 2.7.4 mit Java7 getestet wird, während es in Java8 kompiliert wird –

Verwandte Themen