RHEL6上的Sonarqube 5.1.2本机软件包在没有root的情况下无法启动

RHEL6上的Sonarqube 5.1.2本机软件包在没有root的情况下无法启动,sonarqube,rpm,startupscript,startup-error,Sonarqube,Rpm,Startupscript,Startup Error,我最近在RHEL 6.6服务器上安装了Sonarqube 5.1.2的本机RPM包。 我使用64位OpenJDK1.8.051和MySQL作为数据库。 Sonarqube使用安装文件夹中/bin中的sonar.sh脚本(在我的例子中是/opt/sonar)与root完美启动,但它不能与/etc/init.d中的包创建的启动脚本一起工作 以下是日志导出: Running SonarQube... wrapper | --> Wrapper Started as Console wrappe

我最近在RHEL 6.6服务器上安装了Sonarqube 5.1.2的本机RPM包。 我使用64位OpenJDK1.8.051和MySQL作为数据库。 Sonarqube使用安装文件夹中/bin中的sonar.sh脚本(在我的例子中是/opt/sonar)与root完美启动,但它不能与/etc/init.d中的包创建的启动脚本一起工作

以下是日志导出:

Running SonarQube...
wrapper  | --> Wrapper Started as Console
wrapper  | Using tick timer.
wrapperp | server listening on port 32000.
wrapper  | Command[0] : /etc/alternatives/java_sdk/bin/java
wrapper  | Command[1] : -Djava.awt.headless=true
wrapper  | Command[2] : -Xms3m
wrapper  | Command[3] : -Xmx32m
wrapper  | Command[4] : -Djava.library.path=./lib
wrapper  | Command[5] : -classpath
wrapper  | Command[6] : ../../lib/jsw/wrapper-3.2.3.jar:../../lib/sonar-application-5.1.2.jar
wrapper  | Command[7] : -Dwrapper.key=sdELP0aWwf4S5hdM
wrapper  | Command[8] : -Dwrapper.port=32000
wrapper  | Command[9] : -Dwrapper.jvm.port.min=31000
wrapper  | Command[10] : -Dwrapper.jvm.port.max=31999
wrapper  | Command[11] : -Dwrapper.debug=TRUE
wrapper  | Command[12] : -Dwrapper.pid=23176
wrapper  | Command[13] : -Dwrapper.version=3.2.3
wrapper  | Command[14] : -Dwrapper.native_library=wrapper
wrapper  | Command[15] : -Dwrapper.cpu.timeout=10
wrapper  | Command[16] : -Dwrapper.jvmid=1
wrapper  | Command[17] : org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper  | Command[18] : org.sonar.application.App
wrapper  | Launching a JVM...
jvm 1    | WrapperManager class initialized by thread: main  Using classloader: sun.misc.Launcher$AppClassLoader@4e25154f
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    | Wrapper Manager: JVM #1
jvm 1    | Running a 64-bit JVM.
jvm 1    | Wrapper Manager: Registering shutdown hook
jvm 1    | Wrapper Manager: Using wrapper
jvm 1    | Load native library.  One or more attempts may fail if platform specific libraries do not exist.
jvm 1    | Loading native library failed: libwrapper-linux-x86-64.so  Cause: java.lang.UnsatisfiedLinkError: no wrapper-linux-x86-64 in java.library.path
jvm 1    | Loaded native library: libwrapper.so
jvm 1    | Calling native initialization method.
jvm 1    | Inside native WrapperManager initialization method
jvm 1    | Java Version   : 1.8.0_51-b16 OpenJDK 64-Bit Server VM
jvm 1    | Java VM Vendor : Oracle Corporation
jvm 1    |
jvm 1    | Startup runner thread started.
jvm 1    | Control event monitor thread started.
jvm 1    | WrapperManager.start(org.tanukisoftware.wrapper.WrapperSimpleApp@4a574795, args[]) called by thread: main
jvm 1    | Communications runner thread started.
jvm 1    | Open socket to wrapper...Wrapper-Connection
jvm 1    | Failed attempt to bind using local port 31000
jvm 1    | Opened Socket from 31001 to 32000
jvm 1    | Send a packet KEY : sdELP0aWwf4S5hdM
jvm 1    | handleSocket(Socket[addr=/127.0.0.1,port=32000,localport=31001])
wrapperp | accepted a socket from 127.0.0.1 on port 31001
wrapperp | read a packet KEY : sdELP0aWwf4S5hdM
wrapper  | Got key from JVM: sdELP0aWwf4S5hdM
wrapperp | send a packet LOW_LOG_LEVEL : 1
wrapperp | send a packet PING_TIMEOUT : 0
wrapperp | send a packet PROPERTIES : (Property Values)
wrapper  | Start Application.
wrapperp | send a packet START : start
jvm 1    | Received a packet LOW_LOG_LEVEL : 1
jvm 1    | Wrapper Manager: LowLogLevel from Wrapper is 1
jvm 1    | Received a packet PING_TIMEOUT : 0
jvm 1    | PingTimeout from Wrapper is 0
jvm 1    | Received a packet PROPERTIES : (Property Values)
jvm 1    | Received a packet START : start
jvm 1    | calling WrapperListener.start()
jvm 1    | Waiting for WrapperListener.start runner thread to complete.
jvm 1    | WrapperListener.start runner thread started.
jvm 1    | WrapperSimpleApp: start(args) Will wait up to 2 seconds for the main method to complete.
jvm 1    | WrapperSimpleApp: invoking main method
jvm 1    | Wrapper Manager: ShutdownHook started
jvm 1    | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook
jvm 1    | Send a packet STOP : 0
jvm 1    | Startup runner thread stopped.
wrapperp | read a packet STOP : 0
wrapper  | JVM requested a shutdown. (0)
wrapper  | wrapperStopProcess(0) called.
wrapper  | Sending stop signal to JVM
wrapperp | send a packet STOP : NULL
jvm 1    | Send a packet START_PENDING : 5000
wrapperp | read a packet START_PENDING : 5000
wrapper  | JVM signalled a start pending with waitHint of 5000 millis.
jvm 1    | Thread, Wrapper-Shutdown-Hook, handling the shutdown process.
jvm 1    | shutdownJVM(0) Thread:Wrapper-Shutdown-Hook
jvm 1    | Send a packet STOPPED : 0
wrapperp | read a packet STOPPED : 0
wrapper  | JVM signalled that it was stopped.
jvm 1    | Closing socket.
wrapperp | socket read no code (closed?).
wrapperp | server listening on port 32001.
jvm 1    | Wrapper Manager: ShutdownHook complete
wrapper  | JVM exited normally.
wrapper  | Signal trapped.  Details:
wrapper  |   signal number=17 (SIGCHLD), source="unknown"
wrapper  | Received SIGCHLD, checking JVM process status.
wrapper  | JVM process exited with a code of 0, leaving the wrapper exit code set to 0.
wrapper  | <-- Wrapper Stopped
对于sonar用户,它不会启动,JVM或包装器只是启动关闭:

.
.
jvm 1    | WrapperSimpleApp: invoking main method
jvm 1    | Wrapper Manager: ShutdownHook started
jvm 1    | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook
不幸的是,我不知道sonar用户可能缺少什么,因为根据RPM包描述,启动脚本应该在没有root权限的情况下工作

有人能帮我或给我指出正确的方向吗?如果没有必要,我真的不想以root身份运行


提前感谢您的帮助

您是否通过sonar.sh使用root帐户启动sonar?
如果是这样,您是否将-r/opt/sonar目录发送给sonar用户?

此外,当从/etc/init.d开始使用脚本时,您可以查看/opt/sonar/logs中的日志,以了解SonarQube的情况。@hgomez:是的,我最初是用/opt/sonar/bin/linux-x86-64/sonar.sh启动的,/opt/sonar中的所有文件和文件夹都归sonar用户所有。这是在yum完成安装后自动完成的,但我还是检查了它,并且它们设置正确,@Godin:您在上面看到的日志是从/opt/sonar/logs导出的,我之所以打开这个问题,是因为这些日志没有给我任何关于实际问题的指导。@Dzoda您能尝试切换到使用su的sonar用户,然后执行java-jar/opt/sonar/lib/sonar-application-5.1.2.jar-Dsonar.log.console=true吗“?@Godin:我按你的要求做了,但当我执行命令时,似乎什么也没发生。”。我应该在其他日志或shell中看到什么吗?
.
.
jvm 1    | WrapperSimpleApp: invoking main method
jvm 1    | Wrapper Manager: ShutdownHook started
jvm 1    | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook