Запуск Hadoop Map Reduce Job, ошибка: не поддерживается Major.minor версия 51.0

1

Я использую hasoop 2.2.0 для выполнения работы по сокращению карты на Amazon Web Services Red Hat 6.4. Файл Jar, который я использую, был создан на моем локальном компьютере Windows 7. Карта упрощает выполнение заданий при локальной установке Hadoop на моем компьютере под управлением Windows 7, но когда я пытаюсь запустить его на экземпляре Amazon, я получаю следующую ошибку:

Exception in thread "main" java.lang.UnsupportedClassVersionError: mapReduce/Tes
tXMLConfig : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        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:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:205)

Я провел некоторое исследование, и кажется, что эта ошибка возникает при запуске Jar файла, который был создан в более новой версии Java, в системе, на которой установлена более старая версия Java. Однако, когда я запускаю "java -version" в моей системе Windows 7 (где Jar файл построен с использованием Eclipse Kepler), он дает мне следующее:

java-версия "1.8.0" Java (TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot (TM) 64-разрядная серверная VM (сборка 25.0-b70, смешанный режим)

Когда я запускаю его на своем экземпляре Amazon Web Services Red Hat 6.4, он также дает:

java-версия "1.8.0" Java (TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot (TM) 64-разрядная серверная VM (сборка 25.0-b70, смешанный режим)

Обе системы используют одну и ту же сборку Java, поэтому я не уверен, что проблема с несогласованными версиями Java может быть проблемой. В Eclipse, когда я перехожу в Window> Java> Complier, я вижу, что "Уровень соблюдения компилятора" равен 1.7. Но Hadoop с Java 1.8 должен иметь возможность запускать файлы Jar, созданные на старых версиях Java (он работает на машине под управлением Windows 7 с помощью java 1.8).

Кажется, я не вижу здесь никакой проблемы. Любая помощь будет высоко ценится!

Теги:
amazon-web-services
hadoop

1 ответ

2

Попробуйте установить переменную среды JAVA_HOME в домашний каталог вашего JDK. Я ранее сталкивался с этой ошибкой, и моя java -version была правильной, но JAVA_HOME не был установлен. После установки JAVA_HOME в мое JDK Contents Home я больше не сталкивался с этой проблемой.

Примечание. Это произошло в Macbook для меня и с другим программным обеспечением.

  • 0
    В моем JAVA_HOME ничего не было установлено, поэтому я установил его в каталог jdk1.8.0 / bin, но все равно получаю сообщение об ошибке.
  • 1
    @Hi_Im_Tim - JAVA_HOME должен быть установлен в базовый каталог установки Java, а не в каталог bin .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню