Не удается запустить ElasticSearch-7.5.0 на Linux (SUSE) - PullRequest
2 голосов
/ 21 февраля 2020

Я пытаюсь запустить ES на своем сервере, и я получил эту ошибку:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/elasticsearch/tools/java_version_checker/JavaVersionChecker : 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)

Не удалось найти основной класс: org.elasticsearch.tools.java_version_checker.JavaVersionChecker. Программа завершит работу.

Похоже, что проблема связана с версией java. Не могли бы вы сообщить, если я что-то делаю неправильно, или перед запуском ES необходимо выполнить специальную настройку?

Обратите внимание, что на сервере установлены следующие версии JDK:

  • jdk1.7.0_25_32bit
  • jdk1.7.0_25_64bit
  • jdk1.7.0_72_32bit
  • jdk1.7.0_72_64bit
  • jdk1.8.0_74_64bit

1 Ответ

2 голосов
/ 21 февраля 2020

Последняя версияasticsearch не совместима с более старой версией Java, и более подробную информацию об общем c ошибке Unsupported major.minor version 51.0 можно найти здесь .

Также, как упоминалось в , это официальное ES делает c, ES не запустится, если совместимая версия JVM не найдена.

Elasticsearch откажется начать, если используется заведомо плохая версия Java. Связанный каталог JVM может быть удален при использовании вашей собственной JVM.

И всю поддерживаемую версию JVM с другой версией эластичного поиска можно найти в этой официально поддерживаемой матричной ссылке .

Проходя через ваше сообщение об ошибке, становится ясно, что вы используете версию 1.7 JDK, которая использует 51 в качестве основной версии, как упомянуто в этом SO ответе. и если вы проверяете вышеупомянутую поддерживаемую матрицу, то в ES 5.X или после нее не будет поддержки менее версии JDK 1.8.

Следовательно, вам нужно указать версию JDK 1.8 как он уже установлен в вашей системе, но не используется, и имеется множество документов о том, как это сделать, и после этого вы сможете запустить ES.

...