SonarQube не может запуститься из-за проблемы с Elasticsearch, которая не может загрузить необходимую нативную библиотеку.

Вопрос или проблема

[вставьте описание изображения здесь][1]Я использую версию sonarqube-10.7.0.96327. Она работала нормально до сих пор. Но сегодня, когда я попытался запустить сервис sonar, возникла следующая ошибка.

Моя версия Java – java 17.0.12 2024-07-16 LTS
Java(TM) SE Runtime Environment (сборка 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (сборка 17.0.12+8-LTS-286, смешанный режим, общий)[вставьте описание изображения здесь][2]

Я пытался проверить логи ES, а также SQ, поэтому я добавил zstd-v1.5.6-win64 в ES/lib …но все еще не повезло.

PS D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\bin\windows-x86-64> .\StartSonar.bat

Запуск SonarQube…
2024.10.25 11:34:49 INFO app[][o.s.a.AppFileSystem] Очистка или создание временной директории D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\temp
2024.10.25 11:34:49 INFO app[][o.s.a.es.EsSettings] Elasticsearch слушает на [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:52449]
2024.10.25 11:34:49 INFO app[][o.s.a.ProcessLauncherImpl] Запуск процесса[ELASTICSEARCH] из [D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\elasticsearch]: C:\Program Files\Java\jdk-17\bin\java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\elasticsearch -Des.path.conf=D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\temp\conf\es -Des.distribution.type=tar -cp D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\elasticsearch\lib*;D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\elasticsearch\lib\cli-launcher* org.elasticsearch.launcher.CliToolLauncher
2024.10.25 11:34:49 INFO app[][o.s.a.SchedulerImpl] Ожидание, когда Elasticsearch будет запущен и запущен
2024.10.25 11:34:50 INFO app[][o.s.a.SchedulerImpl] Процесс[es] запущен
2024.10.25 11:34:50 INFO app[][o.s.a.ProcessLauncherImpl] Запуск процесса[WEB_SERVER] из [D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327]: C:\Program Files\Java\jdk-17\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\temp -XX:-OmitStackTraceInFastThrow –add-opens=java.base/java.util=ALL-UNNAMED –add-opens=java.base/java.lang=ALL-UNNAMED –add-opens=java.base/java.io=ALL-UNNAMED –add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED –add-exports=java.base/jdk.internal.ref=ALL-UNNAMED –add-opens=java.base/java.nio=ALL-UNNAMED –add-opens=java.base/sun.nio.ch=ALL-UNNAMED –add-opens=java.management/sun.management=ALL-UNNAMED –add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-10.7.0.96327.jar;D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\lib\jdbc\h2\h2-2.2.224.jar org.sonar.server.app.WebServer D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\temp\sq-process8445048974899513524properties
WARNING: Вызван терминально устаревший метод в java.lang.System
WARNING: System::setSecurityManager был вызван org.sonar.process.PluginSecurityManager (файл:/D:/docs/sonarqube-10.7.0.96327/sonarqube-10.7.0.96327/lib/sonar-application-10.7.0.96327.jar)
WARNING: Рассмотрите возможность сообщения об этом ответственным за org.sonar.process.PluginSecurityManager
WARNING: System::setSecurityManager будет удален в будущем релизе
ERROR: Elasticsearch завершился ненормально – проверьте логи по адресу D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\logs\sonarqube.log

ERROR: Elasticsearch завершился при запуске с кодом выхода 1
2024.10.25 11:35:02 WARN app[][o.s.a.p.AbstractManagedProcess] Процесс завершился с кодом выхода [ElasticSearch]: 1
2024.10.25 11:35:02 INFO app[][o.s.a.SchedulerImpl] Процесс[ElasticSearch] остановлен
2024.10.25 11:35:16 INFO app[][o.s.a.SchedulerImpl] Процесс[Web Server] остановлен
2024.10.25 11:35:16 INFO app[][o.s.a.SchedulerImpl] SonarQube остановлен
PS D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\bin\windows-x86-64>

Ответ или решение

Решение проблемы с запуском SonarQube: ошибка загрузки библиотеки Elasticsearch

Введение

Запуск SonarQube может завершиться ошибкой, если Elasticsearch не может загрузить необходимые нативные библиотеки. В вашем случае вы сталкиваетесь с проблемой при работе с версией SonarQube 10.7.0, используя Java 17, и получаете сообщение об ошибке, указывающее на сбой Elasticsearch.

Анализ проблемы

Согласно вашим сообщениям, при попытке запуска SonarQube происходит сбой с кодом возврата 1, и Elasticsearch завершает работу. Наиболее распространенные причины таких сбоев включают:

  1. Проблемы с плагинами: Возможно, один из плагинов SonarQube конфликтует с новой версией.
  2. Необходимые нативные библиотеки: Ошибка связывается с отсутствием или неправильной установкой нативной библиотеки zstd.
  3. Конфликтующая версия Java: Сонар может не поддерживать вашу текущую версию Java или может требовать специфические параметры JVM.

Устранение неполадок

Для решения вашей проблемы выполните следующие шаги:

  1. Проверка наличия нативных библиотек:

    • Убедитесь, что библиотека zstd-v1.5.6-win64 корректно добавлена в директорию elasticsearch/lib. Директория должна выглядеть следующим образом:
      D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\elasticsearch\lib
    • Попробуйте перезаписать файл, если возможно, или загрузите его с официального репозитория.
  2. Проверка конфигурации Java:

    • Убедитесь, что Java версии 17 корректно установлена и доступна по пути C:\Program Files\Java\jdk-17\bin\java. Вы можете проверить это, выполнив команду java -version в терминале.
    • Попробуйте использовать более раннюю LTS версию Java, такую как Java 11, которая может быть более стабильной с данной версией SonarQube.
  3. Анализ логов:

    • Посмотрите в файлы логов Elasticsearch, которые находятся в D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\logs. Там могут быть более детализированные ошибки, указывающие на проблему.
    • Логи могут помочь выявить, загружаются ли библиотеки или есть ошибки конфигурации.
  4. Обновление плагинов:

    • Если вы заранее обновляли или устанавливали новые плагины, попробуйте временно отключить их, переместив их из папки D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\extensions\plugins.
    • Запустите SonarQube без плагинов для визуализации, куда указывает проблема.
  5. Параметры запуска:

    • Убедитесь, что параметры JVM в батч-файле StartSonar.bat корректно заданы. При работе с Elasticsearch может потребоваться дополнительное управление памятью или специфические параметры для Java.

Заключение

Эти шаги являются основными для устранения проблем с запуском SonarQube, связанных с ошибками Elasticsearch. Как только вы выполните данные рекомендации, SonarQube должен успешно запуститься. Если проблема продолжает возникать, рассмотрите возможность получения дополнительной поддержки на официальных форумах SonarQube или документации по устранению неполадок.

Если необходима дальнейшая помощь, пожалуйста, поделитесь дополнительными логами или сообщениями об ошибках.

Оцените материал
Добавить комментарий

Капча загружается...