繁体   English   中英

SonarQube 7.2无法在CentOS 7上以systemd开头

[英]SonarQube 7.2 won't start with systemd on CentOS 7

我在虚拟机上安装了CentOS7,并尝试正确安装SonarQube 7.2.1。 因此,我遵循本教程并安装PostgreSQL而不是MariaDB。 我按照他们说的那样编辑sonar.properties,然后正确安装了Java 8。

当我想从sudo systemctl start sonar开始时,出现错误,所以我执行了journalctl -xesystemctl status sonar.service

第一回我

L'unité (unit) sonar.service a commencé à démarrer.
août 03 14:20:44 localhost.localdomain bash[19570]: /bin/bash: /home/enovia/sonarqube-7.2.1/bin/linux-x86-64/sonar.sh: Aucun fichier ou dossier de ce type
août 03 14:20:44 localhost.localdomain systemd[1]: sonar.service: control process exited, code=exited status=127
août 03 14:20:44 localhost.localdomain systemd[1]: Failed to start SonarQube Service.
-- Subject: L'unité (unit) sonar.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

第二

sonar.service - SonarQube Service
   Loaded: loaded (/etc/systemd/system/sonar.service; enabled; vendor preset: disabled)

  Active: activating (auto-restart) (Result: exit-code) since ven. 2018-08-03 14:41:14 CEST; 3s ago

 Process: 21093 ExecStart=/bin/bash /home/enovia/sonarqube-7.2.1/bin/linux-x86-64/sonar.sh start (code=exited, status=127)


août 03 14:41:14 localhost.localdomain systemd[1]: sonar.service: control process exited, code=exited status=127

août 03 14:41:14 localhost.localdomain systemd[1]: Failed to start SonarQube Service.

août 03 14:41:14 localhost.localdomain systemd[1]: Unit sonar.service entered failed state.

août 03 14:41:14 localhost.localdomain systemd[1]: sonar.service failed.

这是我的sonar.properties:

sonar.jdbc.username=sonar

sonar.jdbc.password=DatabasePass

sonar.jdbc.url=jdbc:postgresql://localhost/sonar

sonar.web.port=10900

声纳日志文件:

`

--> 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.

2018.07.30 15:50:44 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/enovia/Bureau/sonarqube-7.2.1/temp
2018.07.30 15:50:44 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.07.30 15:50:45 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/home/enovia/Bureau/sonarqube-7.2.1/elasticsearch]: /home/enovia/Bureau/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/home/enovia/Bureau/sonarqube-7.2.1/temp/conf/es
2018.07.30 15:50:45 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
2018.07.30 15:50:58 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.07.30 15:50:58 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.07.30 15:52:30 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2018.07.30 15:52:32 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/home/enovia/Bureau/sonarqube-7.2.1]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/home/enovia/Bureau/sonarqube-7.2.1/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:/home/enovia/Bureau/sonarqube-7.2.1/lib/jdbc/mysql/mysql-connector-java-5.1.46.jar org.sonar.server.app.WebServer /home/enovia/Bureau/sonarqube-7.2.1/temp/sq-process8191574965959719695properties
2018.07.30 15:53:36 INFO  app[][o.s.a.SchedulerImpl] Process [web] is stopped
2018.07.30 15:53:38 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2018.07.30 15:53:38 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2018.07.30 15:53:38 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 143
<-- Wrapper Stopped
--> 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.

2018.07.31 12:05:33 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/enovia/Bureau/sonarqube-7.2.1/temp
2018.07.31 12:05:33 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.07.31 12:05:34 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/home/enovia/Bureau/sonarqube-7.2.1/elasticsearch]: /home/enovia/Bureau/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/home/enovia/Bureau/sonarqube-7.2.1/temp/conf/es
2018.07.31 12:05:34 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
Startup failed: Timed out waiting for signal from JVM.
JVM did not exit on request, terminated
JVM exited on its own while waiting to kill the application.
JVM exited in response to signal SIGKILL (9).
JVM Restarts disabled.  Shutting down.
<-- Wrapper Stopped
--> 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.

2018.07.31 12:15:56 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/enovia/Bureau/sonarqube-7.2.1/temp
2018.07.31 12:15:56 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.07.31 12:15:57 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/home/enovia/Bureau/sonarqube-7.2.1/elasticsearch]: /home/enovia/Bureau/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/home/enovia/Bureau/sonarqube-7.2.1/temp/conf/es
2018.07.31 12:15:57 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2018.07.31 12:15:58 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.07.31 12:15:58 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.07.31 12:16:08 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2018.07.31 12:16:08 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/home/enovia/Bureau/sonarqube-7.2.1]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/home/enovia/Bureau/sonarqube-7.2.1/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:/home/enovia/Bureau/sonarqube-7.2.1/lib/jdbc/mysql/mysql-connector-java-5.1.46.jar org.sonar.server.app.WebServer /home/enovia/Bureau/sonarqube-7.2.1/temp/sq-process4251581204595748290properties
2018.07.31 12:16:25 INFO  app[][o.s.a.SchedulerImpl] Process [web] is stopped
2018.07.31 12:16:25 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2018.07.31 12:16:25 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
2018.07.31 12:16:25 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 143
<-- Wrapper Stopped
--> 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.

2018.08.01 13:41:07 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/enovia/sonarqube-7.2.1/temp
2018.08.01 13:41:07 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.08.01 13:41:07 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/home/enovia/sonarqube-7.2.1/elasticsearch]: /home/enovia/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/home/enovia/sonarqube-7.2.1/temp/conf/es
2018.08.01 13:41:07 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2018.08.01 13:41:09 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.08.01 13:41:09 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.08.01 13:41:10 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
2018.08.01 13:41:10 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2018.08.01 13:41:10 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped
--> 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.

2018.08.01 15:17:17 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/enovia/sonarqube-7.2.1/temp
2018.08.01 15:17:17 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.08.01 15:17:18 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/home/enovia/sonarqube-7.2.1/elasticsearch]: /home/enovia/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/home/enovia/sonarqube-7.2.1/temp/conf/es
2018.08.01 15:17:18 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2018.08.01 15:17:18 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.08.01 15:17:18 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.08.01 15:17:20 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
2018.08.01 15:17:20 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2018.08.01 15:17:20 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped
--> 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.

2018.08.01 15:18:01 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/enovia/sonarqube-7.2.1/temp

WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedException: /home/enovia/sonarqube-7.2.1/temp/conf/es/elasticsearch.yml
java.nio.file.AccessDeniedException: /home/enovia/sonarqube-7.2.1/temp/conf/es/elasticsearch.yml
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
    at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
    at java.nio.file.Files.delete(Files.java:1126)
    at org.sonar.process.FileUtils2$DeleteRecursivelyFileVisitor.visitFile(FileUtils2.java:170)
    at org.sonar.process.FileUtils2$DeleteRecursivelyFileVisitor.visitFile(FileUtils2.java:165)
    at java.nio.file.Files.walkFileTree(Files.java:2670)
    at java.nio.file.Files.walkFileTree(Files.java:2742)
    at org.sonar.process.FileUtils2.deleteDirectoryImpl(FileUtils2.java:127)
    at org.sonar.process.FileUtils2.deleteDirectory(FileUtils2.java:112)
    at org.sonar.application.AppFileSystem$CleanTempDirFileVisitor.visitFile(AppFileSystem.java:117)
    at org.sonar.application.AppFileSystem$CleanTempDirFileVisitor.visitFile(AppFileSystem.java:101)
    at java.nio.file.Files.walkFileTree(Files.java:2670)
    at org.sonar.application.AppFileSystem.createOrCleanTempDirectory(AppFileSystem.java:96)
    at org.sonar.application.AppFileSystem.reset(AppFileSystem.java:62)
    at org.sonar.application.App.start(App.java:55)
    at org.sonar.application.App.main(App.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
    at java.lang.Thread.run(Thread.java:748)
<-- Wrapper Stopped
--> 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.

2018.08.01 15:38:18 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /etc/sonarqube-7.2.1/temp
2018.08.01 15:38:18 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.08.01 15:38:18 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/etc/sonarqube-7.2.1/elasticsearch]: /etc/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/etc/sonarqube-7.2.1/temp/conf/es
2018.08.01 15:38:18 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2018.08.01 15:38:19 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.08.01 15:38:19 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.08.01 15:38:29 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2018.08.01 15:38:29 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/etc/sonarqube-7.2.1]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/etc/sonarqube-7.2.1/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:/etc/sonarqube-7.2.1/lib/jdbc/mysql/mysql-connector-java-5.1.46.jar org.sonar.server.app.WebServer /etc/sonarqube-7.2.1/temp/sq-process1389488387217549973properties
2018.08.01 15:38:46 INFO  app[][o.s.a.SchedulerImpl] Process [web] is stopped
2018.08.01 15:38:46 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2018.08.01 15:38:46 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 143
2018.08.01 15:38:46 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped

更新sonar.sh文件中的RUN_AS_USER属性,然后重新启动SonarQube。

还要确保SonarQube目录中没有与权限相关的问题,以便更安全地运行chown用户:user -R / home / SonarQube_home

wheel用户是一种root用户,因此我从该组中删除了声纳用户。 之后,我将无法访问保留给root用户的systemctl(systemd)命令。 因此,我尝试使用sonar.sh启动声纳,并且可以正常工作。

谢谢所有帮助我的人,我希望这篇文章可以为在centOS上与我有同样问题的人提供帮助:)

我最近在7.7版中遇到了相同的问题。 最初,我遇到了同样的问题,该服务无法正常启动,但是调用sonar.sh脚本就可以了。

对我有用的修复是确保服务文件引用了可以创建PID文件的目录:

PIDFile = / opt / sonar / bin / linux-x86-64 /./ SonarQube.pid

当然,请确保:/ opt / sonar /上已为您的服务中调用的用户(即用户“ sonar”)正确设置了权限!

完整的服务档案如下:

[Unit]
Description=SonarQube application
After=syslog.target network.target

[Service]
User=sonar
Group=sonar

Type=simple
ExecStart=/opt/sonar/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonar/bin/linux-x86-64/sonar.sh stop
ExecReload=/opt/sonar/bin/linux-x86-64/sonar.sh restart
PIDFile=/opt/sonar/bin/linux-x86-64/./SonarQube.pid

[Install]
WantedBy=multi-user.target

我最近在sonarqube restarting issue 7.6和Centos 7.6上遇到了sonarqube restarting issue ,这花了我的CICD配置时间! 因此,分享此想法可能会节省其他人的时间! 几乎没有什么可以寻找并进行更新以解决此问题。

  1. 确保/var/lib/pgsql/9.6/data/pg_hba.conf已更新,如下所示:

    在此处输入图片说明

  2. 确保PostgreSQL数据库具有自己的用户sonar并创建了一个名为sonar的数据库。 而且,显然,数据库用户sonar应该拥有该sonar数据库。 就我而言,我将sonar用于数据库用户名和实际数据库名,但是,您可以随意使用任何sonar

  3. 确保在下载并解压缩SonarQube之后,将sonarqube移动到/op/目录:

    sudo mv sonarqube-7.6 / opt / sonarqube

    然后/opt/sonarqube目录归sonarqube linux用户所有,在我的情况下为sonar

  4. 确保在创建和编辑/etc/systemd/system/sonar.service文件后,该文件也归sonarqube linux用户所有。

  5. /etc/systemd/system/sonar.service文件的内容应类似于以下内容:

    [单元]

    Description = SonarQube服务

    之后= syslog.target network.target

    [服务]

    类型=分叉

    ExecStart = / opt / sonarqube / bin / linux-x86-64 / sonar.sh开始

    ExecStop = / opt / sonarqube / bin / linux-x86-64 / sonar.sh停止

    用户=声纳

    组=声纳

    重启=总是

    [安装]

    WantedBy =多用户目标

    注意UserGroup指向linux sonarqube用户,我的是sonar 你可以是johndoe

  6. 编辑/opt/sonarqube/bin/linux-x86-64/sonar.sh并使用以下命令更新#RUN_AS_USER

    RUN_AS_USER =声纳

    注意,这也是Linux sonarqube用户,我的是sonar

  7. SonarQube似乎是一个JAVA内存匮乏的Web应用程序。 因此,请按照这篇文章来更新相关的内存配置。 请记住,该帖子基于Centos 7.6。 如果您对Linux有所了解,则需要更新相关文件。

  8. 不要忘记重启PostgreSQL,Sonar Service和NGINX(如果您是传递给Sonar的代理)

    sudo systemctl重新启动postgresql-9.6 && sudo systemctl重新启动声纳&& sudo systemctl重新启动nginx

  9. 检查所有这些服务的状态,并确保所有它们都处于active / running状态:

    sudo systemctl状态postgresql-9.6 && sudo systemctl状态声纳&& sudo systemctl状态nginx

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM