web-dev-qa-db-fra.com

Impossible de démarrer Sonar Server

J'utilise Sonar pour générer des rapports de révision de code de mon projet. Mais je ne parviens pas à démarrer le serveur. Je reçois

HeapDumpOnOutOfMemoryError

en courant

StartSonar.bat

fichier.

Veuillez trouver les journaux générés au démarrage du sondeur.

C:\TEMP2\Sonar\sonarqube-4.5\bin\windows-x86-32> wrapper StartSonar.bat | -> Wrapper démarré comme wrapper de console | Lancement d'une JVM ... jvm 1
| Wrapper (version 3.2.3) http://wrapper.tanukisoftware.org jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. Tous droits réservés. jvm 1 | jvm 1 | 2015.07.28 07:30:51 INFO app [ospmJavaProcessLauncher] Processus de lancement [recherche]: C:\Software\jdk1.6.0_18\jre\bin\Java -Xmx256m -Xms256m - Xss256k -Djava.net.preferIPv4Stack = true - XX: + UseParNewGC -XX: + UseConcMarkSweepGC -XX: CMSInitiatingOccupancyFraction = 75 -XX: + UseCMSInitiatingOccupancyO nly -XX: + HeapDumpOnOutOfMemoryError -Djava.awt.headless = true -Djava.io.tmpPar- 4.5\temp -cp ./lib/common/;./lib/search/ org. sonar.search.SearchServer C:\Users\gxs114\AppData\Local\Temp\sq-process8934190933893070058properties jvm 1 | 2015.07.28 07:30:57 INFO app [o.s.p.m.Monitor] Processus [recherche] est en marche jvm 1 | 2015.07.28 07:30:57 INFO app [ospmJavaProcessLauncher] Processus de lancement [web]: C:\Software\jdk1.6.0_18\jre\bin\Java -Xmx768m -XX: MaxPermSi ze = 160m -XX: + HeapDumpOnOutOfMemoryError - Djava.net.preferIPv4Stack = true -Djava.awt.headless = true -Dfile.encoding = UTF-8 -Djruby.management.enabled = fals e -Djava.io.tmpdir = C:\TEMP2\Sonar\sonarqube-4.5\temp -cp ./lib/common/;./lib/server/ org.sonar.server.app.WebServer C:\Users\gxs114\AppData\Local\Te mp\sq-process4251708419326591677properties jvm 1 | 2015.07.28 07:30:57 INFO app [o.s.p.m.TerminatorThread] Processus [recherche] arrête jvm 1 | 2015.07.28 07:30:58 INFO app [o.s.p.m.TerminatorThread] Processus [recherche] est arrêté wrapper | <- Wrapper arrêté

C:\TEMP2\Sonar\sonarqube-4.5\bin\windows-x86-32>

Comment puis-je résoudre ce problème? Toute idée/solution appréciée.

10
Gunjan Shah

J'ai obtenu la solution des fichiers journaux du sonar lui-même. Vous pouvez trouver les journaux de démarrage du serveur dans le fichier sonar.log sous le répertoire "sonarqube-4.5\logs".

Je n'ai pas pu démarrer le serveur en raison de l'exception de liaison de port suivante:

2015.07.29 02:46:36 ERROR web[o.a.c.h.Http11Protocol]  Failed to initialize end point associated with ProtocolHandler ["http-bio-0.0.0.0-9000"]
Java.net.BindException: Address already in use: JVM_Bind /0.0.0.0:9000
    at org.Apache.Tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.Java:411) ~[Tomcat-embed-core-7.0.54.jar:7.0.54]
    at org.Apache.Tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.Java:640) ~[Tomcat-embed-core-7.0.54.jar:7.0.54]
    at org.Apache.coyote.AbstractProtocol.init(AbstractProtocol.Java:434) ~[Tomcat-embed-core-7.0.54.jar:7.0.54]
    at org.Apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.Java:119) [Tomcat-embed-core-7.0.54.jar:7.0.54]

J'ai donc changé le numéro de port en "4950" de "9000" dans le fichier sonar.properties sous le répertoire "sonarqube-4.5\conf".

# TCP port for incoming HTTP connections. Disabled when value is -1.
sonar.web.port=4950

# TCP port for incoming HTTPS connections. Disabled when value is -1 (default).
#sonar.web.https.port=-1

Le serveur a démarré avec succès après avoir changé le numéro de port.

13
Gunjan Shah

La raison derrière ce problème est que le numéro de port est déjà utilisé par SONAR, vous n'avez pas correctement mis fin à SONAR. Il y a deux façons de s'en débarrasser,

  1. Identifiez le numéro de port à l'aide du fichier journal (sonarqube-4.5\logs). Identifiez ensuite le PID de ce processus. Tuez ensuite le processus à l'aide de PID.

Le journal ressemblera à

Java.net.BindException: Address already in use: **JVM_Bind /0.0.0.0:9000**

Pour trouver le PID

netstat -a -n -o | find "port_num"

Pour tuer le processus

taskkill /F /PID "pid"
  1. Déconnectez-vous simplement du système et reconnectez-vous, puis démarrez le fichier StartSonar.bat. Cela fonctionnera certainement.
6
Haja

Si vous aviez déjà démarré Sonar et tué le processus à l'invite de commandes, votre JVM fonctionnerait toujours en arrière-plan.

Tuez le processus Java et essayez à nouveau, cela fonctionne. J'ai essayé et travaillé pour moi.

5
Prasad

Selon mon observation, si Eclipse est déjà en cours d'exécution, fermez d'abord Eclipse. vérifiez que le port 9000 est libre.

puis après avoir exécuté le sondeur à partir de l'invite de commandes une fois que le serveur est en place, puis après avoir exécuté Eclipse.

0
Ashok Parmar

Gestionnaire des tâches -> Détails puis clic droit -> terminer la tâche -> pour tous Java.exe si vous n'êtes pas sûr du numéro de port. Puis ouvrez à nouveau l'invite cmd -> startsonar.bat

0
Saran