我在将其作为服务启动SonarQube Server或单独启动时遇到麻烦。
(所有命令均在 Windows 10 上以管理员身份运行,并安装了 64 位 JDK 和 JRE)
C:\sonarqube\bin\windows-x86-64>StartSonar.bat
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | 2018.01.09 10:05:37 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\sonarqube\temp
jvm 1 | 2018.01.09 10:05:37 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
jvm 1 | 2018.01.09 10:05:37 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [C:\sonarqube\elasticsearch]: C:\Program Files\jre\bin\java -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djdk.io.permissionsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=C:\sonarqube\elasticsearch -cp lib/* org.elasticsearch.bootstrap.Elasticsearch -Epath.conf=C:\sonarqube\temp\conf\es
jvm 1 | 2018.01.09 10:05:37 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
jvm 1 | 2018.01.09 10:05:38 INFO app[][o.e.p.PluginsService] no modules loaded
jvm 1 | 2018.01.09 10:05:38 INFO app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
jvm 1 | 2018.01.09 10:05:39 WARN app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
jvm 1 | 2018.01.09 10:05:39 INFO app[][o.s.a.SchedulerImpl] Process [es] is stopped
jvm 1 | 2018.01.09 10:05:39 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped
wrapper | <-- Wrapper Stopped
Run Code Online (Sandbox Code Playgroud)
或者
C:\sonarqube\bin\windows-x86-64>InstallNTService.bat
wrapper | SonarQube installed.
C:\sonarqube\bin\windows-x86-64>StartNTService.bat
wrapper | Starting the SonarQube service...
wrapper | Waiting to start...
wrapper | The SonarQube service was launched, but failed to start.
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)
我认为这两种情况的错误是相同的。
好的,所以我查看了日志,并在 sonarqube\logs\es 中看到了这一点:java.lang.IllegalStateException: failed to obtain node locks
我认为这就是问题所在,因此我进入任务管理器并结束了正在运行的 Java 任务。然后我就可以运行 StartNTService.bat。不确定实际问题是什么,也许我第一次启动该过程时没有正确结束并且失败了。