2

Я не могу запустить SonarQube 5.3 в качестве службы в Windows Server 2012 или Windows 10. Он работает нормально, используя StartSonar.bat, но при установке и запуске в качестве службы есть ошибкаНевозможно запустить SonarQube 5.3 как услугу в Windows

«Служба SonarQube на локальном компьютере началась, а затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами».

Я пробовал определенного пользователя службы с локальным доступом администратора и пользователя локальной учетной записи системы с тем же результатом.

Я протестировал запуск службы, указав рабочего пользователя с доступом к локальному администратору, который работает нормально, но наша политика заключается в использовании конкретного пользователя службы для служб.

Я попытался с помощью JDK 8 64bit и JDK 7 32 бит с теми же результатами

þér содержимое sonar.log являются

Using tick timer. 
--> Wrapper Started as Service 
server listening on port 32000. 
Launching a JVM... 
command: "C:\Program Files\Java\jdk1.8.0_72\bin\java.exe" -Djava.awt.headless=true -Xms3m -Xmx3m -Djava.library.path="./lib" -classpath "../../lib/jsw/wrapper-3.2.3.jar;../../lib/sonar-application-5.3.jar" -Dwrapper.key="Rfo5GpLfYyokZuoo" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=7932 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp org.sonar.application.App 
JVM started (PID=3388) 
WrapperManager class initialized by thread: main Using classloader: [email protected] 
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org 
    Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. 

Wrapper Manager: JVM #1 
Running a 64-bit JVM. 
Wrapper Manager: Registering shutdown hook 
Wrapper Manager: Using wrapper 
Load native library. One or more attempts may fail if platform specific libraries do not exist. 
Loading native library failed: wrapper-windows-x86-64.dll Cause: java.lang.UnsatisfiedLinkError: no wrapper-windows-x86-64 in java.library.path 
Loaded native library: wrapper.dll 
Calling native initialization method. 
Initializing WrapperManager native library. 
Java Executable: C:\Program Files\Java\jdk1.8.0_72\bin\java.exe 
Windows version: 6.3.9600 
Java Version : 1.8.0_72-b15 Java HotSpot(TM) 64-Bit Server VM 
Java VM Vendor : Oracle Corporation 

Control event monitor thread started. 
Startup runner thread started. 
WrapperManager.start([email protected], args[]) called by thread: main 
Communications runner thread started. 
Open socket to wrapper...Wrapper-Connection 
Opened Socket from 31000 to 32000 
Send a packet KEY : Rfo5GpLfYyokZuoo 
handleSocket(Socket[addr=/127.0.0.1,port=32000,localport=31000]) 
accepted a socket from 127.0.0.1 on port 31000 
read a packet KEY : Rfo5GpLfYyokZuoo 
Got key from JVM: Rfo5GpLfYyokZuoo 
send a packet LOW_LOG_LEVEL : 1 
send a packet PING_TIMEOUT : 0 
send a packet PROPERTIES : (Property Values) 
Start Application. 
send a packet START : start 
Received a packet LOW_LOG_LEVEL : 1 
Wrapper Manager: LowLogLevel from Wrapper is 1 
Received a packet PING_TIMEOUT : 0 
PingTimeout from Wrapper is 0 
Received a packet PROPERTIES : (Property Values) 
Received a packet START : start 
calling WrapperListener.start() 
Waiting for WrapperListener.start runner thread to complete. 
WrapperListener.start runner thread started. 
WrapperSimpleApp: start(args) Will wait up to 2 seconds for the main method to complete. 
WrapperSimpleApp: invoking main method 
Wrapper Manager: ShutdownHook started 
WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook 
Send a packet STOP : 0 
Startup runner thread stopped. 
read a packet STOP : 0 
JVM requested a shutdown. (0) 
wrapperStopProcess(0) called. 
Sending stop signal to JVM 
send a packet STOP : NULL 
Send a packet START_PENDING : 5000 
read a packet START_PENDING : 5000 
JVM signalled a start pending with waitHint of 5000 millis. 
Thread, Wrapper-Shutdown-Hook, handling the shutdown process. 
shutdownJVM(0) Thread:Wrapper-Shutdown-Hook 
Send a packet STOPPED : 0 
read a packet STOPPED : 0 
JVM signalled that it was stopped. 
Closing socket. 
socket read no code (closed?). 
server listening on port 32002. 
Send a packet START_PENDING : 5000 
Wrapper Manager: ShutdownHook complete 
WrapperSimpleApp: start(args) end. Main Completed=false, exitCode=null 
WrapperListener.start runner thread stopped. 
JVM process exited with a code of 0, leaving the wrapper exit code set to 0. 
JVM exited normally. 
<-- Wrapper Stopped 
--> Wrapper Started as Service 
Using tick timer. 
server listening on port 32000. 
Launching a JVM... 
command: "C:\Program Files\Java\jdk1.8.0_72\bin\java.exe" -Djava.awt.headless=true -Xms3m -Xmx3m -Djava.library.path="./lib" -classpath "../../lib/jsw/wrapper-3.2.3.jar;../../lib/sonar-application-5.3.jar" -Dwrapper.key="dvwrESWxTion4Weh" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=4304 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp org.sonar.application.App 
JVM started (PID=376) 
WrapperManager class initialized by thread: main Using classloader: [email protected] 
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org 
    Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. 

Wrapper Manager: JVM #1 
Running a 64-bit JVM. 
Wrapper Manager: Registering shutdown hook 
Wrapper Manager: Using wrapper 
Load native library. One or more attempts may fail if platform specific libraries do not exist. 
Loading native library failed: wrapper-windows-x86-64.dll Cause: java.lang.UnsatisfiedLinkError: no wrapper-windows-x86-64 in java.library.path 
Loaded native library: wrapper.dll 
Calling native initialization method. 
Initializing WrapperManager native library. 
Java Executable: C:\Program Files\Java\jdk1.8.0_72\bin\java.exe 
Windows version: 6.3.9600 
Java Version : 1.8.0_72-b15 Java HotSpot(TM) 64-Bit Server VM 
Java VM Vendor : Oracle Corporation 

Control event monitor thread started. 
Startup runner thread started. 
WrapperManager.start([email protected], args[]) called by thread: main 
Communications runner thread started. 
Open socket to wrapper...Wrapper-Connection 
Opened Socket from 31000 to 32000 
Send a packet KEY : dvwrESWxTion4Weh 
handleSocket(Socket[addr=/127.0.0.1,port=32000,localport=31000]) 
accepted a socket from 127.0.0.1 on port 31000 
read a packet KEY : dvwrESWxTion4Weh 
Got key from JVM: dvwrESWxTion4Weh 
send a packet LOW_LOG_LEVEL : 1 
send a packet PING_TIMEOUT : 0 
send a packet PROPERTIES : (Property Values) 
Start Application. 
send a packet START : start 
Received a packet LOW_LOG_LEVEL : 1 
Wrapper Manager: LowLogLevel from Wrapper is 1 
Received a packet PING_TIMEOUT : 0 
PingTimeout from Wrapper is 0 
Received a packet PROPERTIES : (Property Values) 
Received a packet START : start 
calling WrapperListener.start() 
Waiting for WrapperListener.start runner thread to complete. 
WrapperListener.start runner thread started. 
WrapperSimpleApp: start(args) Will wait up to 2 seconds for the main method to complete. 
WrapperSimpleApp: invoking main method 
Wrapper Manager: ShutdownHook started 
WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook 
Send a packet STOP : 0 
Startup runner thread stopped. 
read a packet STOP : 0 
JVM requested a shutdown. (0) 
wrapperStopProcess(0) called. 
Sending stop signal to JVM 
send a packet STOP : NULL 
Send a packet START_PENDING : 5000 
read a packet START_PENDING : 5000 
JVM signalled a start pending with waitHint of 5000 millis. 
Thread, Wrapper-Shutdown-Hook, handling the shutdown process. 
shutdownJVM(0) Thread:Wrapper-Shutdown-Hook 
Send a packet STOPPED : 0 
read a packet STOPPED : 0 
JVM signalled that it was stopped. 
Closing socket. 
socket read no code (closed?). 
server listening on port 32002. 
Send a packet START_PENDING : 5000 
Wrapper Manager: ShutdownHook complete 
WrapperSimpleApp: start(args) end. Main Completed=false, exitCode=null 
WrapperListener.start runner thread stopped. 
JVM process exited with a code of 0, leaving the wrapper exit code set to 0. 
JVM exited normally. 
<-- Wrapper Stopped 

При запуске из консоли с помощью "StartSonar.bat" следующие строки предстают перед гидролокатором запускается, которые не отображается при работе в качестве службы

WrapperSimpleApp: start(args) Will wait up to 2 seconds for the main method to complete. 
WrapperSimpleApp: invoking main method 
2016.02.09 09:14:11 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[search]: C:\Program Files\Java\jdk1.8.0_72\jre\bin\java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=D:\sonarqube-5.3\temp -cp ./lib/common/*;./lib/search/* org.sonar.search.SearchServer C:\Users\t8239\AppData\Local\Temp\sq-process7650225466698856396properties 
2016.02.09 09:14:11 INFO es[o.s.p.ProcessEntryPoint] Starting search 
2016.02.09 09:14:11 INFO es[o.s.s.SearchSettings] Elasticsearch listening on 127.0.0.1:9001 

есть ли какое-то Разветвляющаяся privilige требуется, чтобы начать гидролокатор через обертку per?

ответ

2

С помощью пользователя Windows, добавленного локально и с учетом взаимодействия с рабочим столом, теперь я могу запустить сервис SonarQube.

0

Настройте службу SonarQube, чтобы не использовать учетную запись локальной системы, но другой пользователь с более широкими правами.

См
Running SonarQube as a Service on Windows
Migrate SonarQube from Tomcat to a Windows service

+0

Это в основном правильный ответ, но проблема в том, что я не знал, какие привилегии отсутствуют. Оказывается, предоставление пользователю разрешений на взаимодействие с пользователем позволяет ему работать. Я думаю, это потому, что оболочка нуждается в этом, чтобы развить java-процесс – andyd

0

Другое решение, которое не требует изменения от пользователя LocalSystem или давать дополнительные привилегии, чтобы указать полный путь к java.exe двоичном в conf\wrapper.conf. Пример:

wrapper.java.command=C:\Program Files\Java\jdk1.8.0_144\bin\java.exe 

гипотеза andyd, что оболочка разрушается при разветвлении процесса Java именно то, что произошло в моем случае, как сообщение об ошибке в файле журнал (в logs\sonar.log) показывает.

Задание обычной учетной записи пользователя не было практическим решением в моем случае из-за политики корпоративного пароля, которая требует изменения пароля каждые несколько недель.

Смежные вопросы