복붙노트

[HADOOP] 자바 런타임 오류 : java.lang.UnsupportedClassVersionError. 지원되지 않는 major.minor 버전 51.0

HADOOP

자바 런타임 오류 : java.lang.UnsupportedClassVersionError. 지원되지 않는 major.minor 버전 51.0

나는 PUMA 벤치 마크 세트 (Purdue Mapreduce Benchmarks Suite : hadoop 용)를 실행하려고합니다. 한 응용 프로그램 (단어 수)을 적절하게 실행했지만 다른 응용 프로그램 (invertedindex)을 실행할 수 없습니다. 런타임에 오류가 발생하여 다음과 같이 표시됩니다.

스레드 "main"의 예외 java.lang.UnsupportedClassVersionError : org / apache / hadoop / examples / InvertedIndex : 지원되지 않는 major.minor 버전 51.0

나는 봤 거든 그것 때문에 자바 버전의 것으로 나타났습니다. 자바 버전을 확인하고 코드를 다시 컴파일 한 다음 실행하십시오. 그러나 invertedindex 응용 프로그램과 wordcount 응용 프로그램의 런타임에서도 여전히 동일한 오류가 발생합니다.

$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
$ javac -version
javac 1.7.0_51

이 문제를 어떻게 해결할 수 있습니까? 이 오류는 소스 코드로 인해 발생할 수 있습니까?

해결법

  1. ==============================

    1.java -version을 통해 얻은 java 버전은 hadoop의 java 버전을 반영하지 않습니다.

    java -version을 통해 얻은 java 버전은 hadoop의 java 버전을 반영하지 않습니다.

    hadoop의 Java 버전을 확인하려면 hadoop classpath 명령을 사용하고 가리키는 jdk 디렉토리를 확인하십시오. 또는 hadoop / config / hadoop-env.sh로 가서 찾을 수 있습니다.

    문제는 jouk 1.7에 대해 hadoop java_home을 가리켜 해결할 가능성이 큽니다. hadoop-env.sh에서 이것을 다시 편집 할 수 있습니다.

  2. from https://stackoverflow.com/questions/22625516/java-runtime-error-java-lang-unsupportedclassversionerror-unsupported-major-mi by cc-by-sa and MIT license