2017-11-14 1 views
3

für meine Studien muss ich Sonarqube auf einem Ubuntu-Server installieren.Wie startet man Sonarqube?

Ich habe es nach diesem Tutorial installiert: http://www.naturalborncoder.com/methodology/2015/05/27/sonarqube-on-ubuntu-14-04/ (Ich habe vor dem Proxy-Teil gestoppt), aber ich kann nicht auf 127.0.0.1:9000 zugreifen. Aus den Logs sieht es aus, als gäbe es ein Problem mit elasticsearch, wenn ich sonarcube starte.

/opt/sonar/log/sonar.log:

--> Wrapper Started as Daemon 
 
Launching a JVM... 
 
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org 
 
    Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. 
 

 
2017.11.14 18:21:11 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonar/temp 
 
2017.11.14 18:21:11 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001 
 
2017.11.14 18:21:11 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonar/elasticsearch]: /opt/sonar/elasticsearch/bin/elasticsearch -Epath.conf=/opt/sonar/temp/conf/es 
 
2017.11.14 18:21:11 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running 
 
2017.11.14 18:21:13 INFO app[][o.e.p.PluginsService] no modules loaded 
 
2017.11.14 18:21:13 INFO app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin] 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.elasticsearch-rest-client} 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.httpasyncclient-4.1.2.jar} 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.netty-common-4.1.13.Final.jar} 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.netty-transport-4.1.13.Final.jar} 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.securesm-1.1.jar} 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.lucene-core-6.6.1.jar} 
 
java.security.policy: error adding Entry: 
 
     java.net.MalformedURLException: no protocol: ${codebase.lucene-misc-6.6.1.jar} 
 
2017.11.14 18:21:27 WARN app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1 
 
2017.11.14 18:21:27 INFO app[][o.s.a.SchedulerImpl] Process [es] is stopped 
 
2017.11.14 18:21:27 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped 
 
<-- Wrapper Stopped

/opt/sonar/logs/es.log:

2017.11.14 18:21:24 INFO es[][o.e.n.Node] initializing ... 
 
2017.11.14 18:21:24 INFO es[][o.e.e.NodeEnvironment] using [1] data paths, mounts [[/ (/dev/vda1)]], net usable_space [5.7gb], net total_space [9.6gb], spins? [possibly], types [ext4] 
 
2017.11.14 18:21:24 INFO es[][o.e.e.NodeEnvironment] heap size [503.6mb], compressed ordinary object pointers [true] 
 
2017.11.14 18:21:24 INFO es[][o.e.n.Node] node name [sonarqube], node ID [3PxDbRbDQ4-M_YDsv25FHg] 
 
2017.11.14 18:21:24 INFO es[][o.e.n.Node] version[5.6.3], pid[8661], build[1a2f265/2017-10-06T20:33:39.012Z], OS[Linux/4.4.0-22-generic/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/9-internal/9-internal+0-2016-04-14-195246.b$ 
 
2017.11.14 18:21:24 INFO es[][o.e.n.Node] JVM arguments [-XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, $ 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] loaded module [aggs-matrix-stats] 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] loaded module [ingest-common] 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] loaded module [parent-join] 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] loaded module [percolator] 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] loaded module [reindex] 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] loaded module [transport-netty4] 
 
2017.11.14 18:21:26 INFO es[][o.e.p.PluginsService] no plugins loaded 
 
2017.11.14 18:21:27 ERROR es[][o.e.b.ElasticsearchUncaughtExceptionHandler] fatal error in thread [main], exiting 
 
java.lang.ExceptionInInitializerError: null 
 
     at org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter$Builder.build(StemmerOverrideFilter.java:205) ~[lucene-analyzers-common-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:55$ 
 
     at org.apache.lucene.analysis.nl.DutchAnalyzer.<init>(DutchAnalyzer.java:133) ~[lucene-analyzers-common-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:55:17] 
 
     at org.apache.lucene.analysis.nl.DutchAnalyzer.<init>(DutchAnalyzer.java:106) ~[lucene-analyzers-common-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:55:17] 
 
     at org.elasticsearch.indices.analysis.PreBuiltAnalyzers$20.create(PreBuiltAnalyzers.java:246) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.indices.analysis.PreBuiltAnalyzers.getAnalyzer(PreBuiltAnalyzers.java:487) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.index.analysis.AnalysisRegistry$PrebuiltAnalysis.<init>(AnalysisRegistry.java:407) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.index.analysis.AnalysisRegistry$PrebuiltAnalysis.<init>(AnalysisRegistry.java:392) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.index.analysis.AnalysisRegistry.<init>(AnalysisRegistry.java:62) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.indices.analysis.AnalysisModule.<init>(AnalysisModule.java:177) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.node.Node.<init>(Node.java:340) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.3.jar:5.6.3] 
 
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessDeclaredMembers") 
 
     at java.security.AccessControlContext.checkPermission(AccessControlContext.java:468) ~[?:?] 
 
     at java.security.AccessController.checkPermission(AccessController.java:894) ~[?:?] 
 
     at java.lang.SecurityManager.checkPermission(SecurityManager.java:541) ~[?:?] 
 
     at java.lang.Class.checkMemberAccess(Class.java:2584) ~[?:?] 
 
     at java.lang.Class.getDeclaredFields(Class.java:2092) ~[?:?] 
 
     at org.apache.lucene.util.RamUsageEstimator$1.run(RamUsageEstimator.java:339) ~[lucene-core-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:54:39] 
 
     at org.apache.lucene.util.RamUsageEstimator$1.run(RamUsageEstimator.java:336) ~[lucene-core-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:54:39] 
 
     at java.security.AccessController.doPrivileged(Native Method) ~[?:?] 
 
     at org.apache.lucene.util.RamUsageEstimator.shallowSizeOfInstance(RamUsageEstimator.java:336) ~[lucene-core-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:54:39] 
 
     at org.apache.lucene.util.RamUsageEstimator.shallowSizeOf(RamUsageEstimator.java:313) ~[lucene-core-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:54:39] 
 
     at org.apache.lucene.util.fst.ByteSequenceOutputs.<clinit>(ByteSequenceOutputs.java:154) ~[lucene-core-6.6.1.jar:6.6.1 9aa465a89b64ff2dabe7b4d50c472de32c298683 - varunthacker - 2017-08-29 21:54:39] 
 
     ... 21 more

Java-Version:

OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12) 
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) 

Sonarqube Version: 6.7

ich starten Sonarqube als root so sollte es nicht Problem von Zugriffsrecht kommen haben.

Der ganze Beitrag, den ich über diesen Fehler finde, war mit openjdk9 verwandt, aber das ist nicht mein Fall.

Haben Sie eine Vorstellung davon, was passiert?

+0

Überprüfen Sie die Zugriffsrechte für alle relevanten SonarQube-Ordner für den Benutzer, der SonarQube startet? –

+0

Ich habe sonarqube als root gestartet, also denke ich, dass es kein Zugriffsrechtsproblem geben sollte – kirua

+2

Sie sollten Elasticsearch niemals als root verwenden. Erwähnen Sie auch die von Ihnen verwendete SonarQube-Version. –

Antwort

5

SonarQube 6.7 enthält eine aktualisierte Version von Elasticsearch, die kann nicht als root ausgeführt werden. Daher kann SonarQube nicht mehr als root ausgeführt werden.

Der Blogpost, dem Sie gefolgt sind, scheint zu empfehlen, dass Sie als root ausgeführt werden. Um SonarQube nicht als root zu starten, beenden Sie einfach Ihre su Sitzung, oder melden Sie sich erneut als sich selbst an, um den Prozess zu starten. Beachten Sie, dass Sie sicherstellen müssen, dass der Benutzer Starts SonarQube wie 7 (lesen, schreiben, ausführen) auf dem SonarQube-Verzeichnis rekursiv und 6 (lesen, schreiben) für die Protokolldateien, wenn sie bereits vorhanden sind.

+0

danke für die Information.Wie könnte ich es ohne Root laufen lassen? Ich habe versucht, 'RUN_AS_USER = Sonar 'in /opt/sonar/bin/linux-x86-64/sonar.sh hinzuzufügen, aber es fragt mich immer noch zu authentifizieren: ' ==== AUTHENTICATING FOR org.freedesktop.systemd1. manage-units === Authentifizierung ist erforderlich, um 'sonar.service' zu starten. Authentifizieren als: Ubuntu (ubuntu) Passwort: ' der Ubuntuutzer ist der Benutzer mit Root-Zugang. – kirua

+0

Wenn jemand hier vorbeikommt und versucht, ihn als Benutzer ohne Rootberechtigung zu starten, müssen Sie ihn als Dienst starten. es sieht so aus als wäre es sonst nicht möglich (?) – kirua

3

In meinem Fall war die Java-Version das Problem.

Ich installierte Oracle JDK 8 für sonarcube 6.7.1, die das Problem gelöst:

sudo add-apt-repository ppa:webupd8team/java  
sudo apt-get update  
sudo apt-get install oracle-java8-installer 

Sie können here mehr über die unterstützten Plattformen lesen. Derzeit wird nur Java 8 unterstützt.

+0

Das hat es auch für mich behoben. Das System war am Ende mit OpenJDK 9 als Standard-JRE eingestellt, was SonarQube noch nicht unterstützt. –