Вопрос или проблема
[вставьте описание изображения здесь][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 завершает работу. Наиболее распространенные причины таких сбоев включают:
- Проблемы с плагинами: Возможно, один из плагинов SonarQube конфликтует с новой версией.
- Необходимые нативные библиотеки: Ошибка связывается с отсутствием или неправильной установкой нативной библиотеки
zstd
. - Конфликтующая версия Java: Сонар может не поддерживать вашу текущую версию Java или может требовать специфические параметры JVM.
Устранение неполадок
Для решения вашей проблемы выполните следующие шаги:
-
Проверка наличия нативных библиотек:
- Убедитесь, что библиотека
zstd-v1.5.6-win64
корректно добавлена в директориюelasticsearch/lib
. Директория должна выглядеть следующим образом:D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\elasticsearch\lib
- Попробуйте перезаписать файл, если возможно, или загрузите его с официального репозитория.
- Убедитесь, что библиотека
-
Проверка конфигурации Java:
- Убедитесь, что Java версии 17 корректно установлена и доступна по пути
C:\Program Files\Java\jdk-17\bin\java
. Вы можете проверить это, выполнив командуjava -version
в терминале. - Попробуйте использовать более раннюю LTS версию Java, такую как Java 11, которая может быть более стабильной с данной версией SonarQube.
- Убедитесь, что Java версии 17 корректно установлена и доступна по пути
-
Анализ логов:
- Посмотрите в файлы логов Elasticsearch, которые находятся в
D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\logs
. Там могут быть более детализированные ошибки, указывающие на проблему. - Логи могут помочь выявить, загружаются ли библиотеки или есть ошибки конфигурации.
- Посмотрите в файлы логов Elasticsearch, которые находятся в
-
Обновление плагинов:
- Если вы заранее обновляли или устанавливали новые плагины, попробуйте временно отключить их, переместив их из папки
D:\docs\sonarqube-10.7.0.96327\sonarqube-10.7.0.96327\extensions\plugins
. - Запустите SonarQube без плагинов для визуализации, куда указывает проблема.
- Если вы заранее обновляли или устанавливали новые плагины, попробуйте временно отключить их, переместив их из папки
-
Параметры запуска:
- Убедитесь, что параметры JVM в батч-файле
StartSonar.bat
корректно заданы. При работе с Elasticsearch может потребоваться дополнительное управление памятью или специфические параметры для Java.
- Убедитесь, что параметры JVM в батч-файле
Заключение
Эти шаги являются основными для устранения проблем с запуском SonarQube, связанных с ошибками Elasticsearch. Как только вы выполните данные рекомендации, SonarQube должен успешно запуститься. Если проблема продолжает возникать, рассмотрите возможность получения дополнительной поддержки на официальных форумах SonarQube или документации по устранению неполадок.
Если необходима дальнейшая помощь, пожалуйста, поделитесь дополнительными логами или сообщениями об ошибках.