java - SonarQube 已停止且未运行

标签 java linux elasticsearch sonarqube

我正在尝试设置 SonarQube 7.8 版本。一旦我启动 sonar.sh 文件,它就会运行,但在 Sonar 停止之后。

root@automation:/opt/sonarqube-7.8/bin/linux-x86-64# ./sonar.sh start
Starting SonarQube...
Started SonarQube.
root@automation:/opt/sonarqube-7.8/bin/linux-x86-64# ./sonar.sh status
SonarQube is not running.

我检查了日志,这是我得到的:

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

2019.10.15 21:01:37 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube-7.8/temp
2019.10.15 21:01:37 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2019.10.15 21:01:37 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube-7.8/elasticsearch]: /opt/sonarqube-7.8/elasticsearch/bin/elasticsearch
2019.10.15 21:01:37 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2019.10.15 21:01:38 INFO  app[][o.e.p.PluginsService] no modules loaded
2019.10.15 21:01:38 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
2019.10.15 21:01:41 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1
2019.10.15 21:01:41 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
2019.10.15 21:01:41 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped

es.log 文件在这里:

2019.10.15 21:01:41 ERROR es[][o.e.b.Bootstrap] Exception
java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) [elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) [elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) [elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.8.0.jar:6.8.0]
        at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.8.0.jar:6.8.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) [elasticsearch-6.8.0.jar:6.8.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) [elasticsearch-6.8.0.jar:6.8.0]

我不确定为什么 SonarQube 会停止。你能帮我解决这个问题吗?

最佳答案

已解决:

首先,不要以root用户运行sonarqube

  1. 创建用户

    命令:useradd username(将用户名设为sonaradmin(如果你不想更改任何命令)

  2. 创建密码命令:passwd username

  3. 转到/opt/目录

3.1) 将 sonarqube.x.x.x 重命名为 sonarqube 命令:sudo mv sonarqube.x.x.x sonarqube(X.X.X 你应该改变目录名)

  1. 更改权限命令:chmod 775 -R sonarqube(文件夹名称可能会更改 Sonarqube )

  2. 将创建的用户添加到sonaradmin组命令:chown -R sonaradmin:sonaradmin sonarqube

  3. 转到:cd/opt/sonarqube/bin/linux-x86-64/

  4. 命令:su sonaradmin

  5. 输入密码

  6. 命令:./sonar.sh start

  7. 命令:./sonar.sh status

现在转到浏览器检查 http://localhost:9000/sonar

希望这会有所帮助....我遇到了同样的问题,已解决

关于java - SonarQube 已停止且未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58400499/

相关文章:

linux - awk 和特殊括号定界符

java - 警报对话框中出现错误

java - 检测 RefreshScope bean 的刷新

java - 多个静态 block 的优点

linux - "rc=$$? ; cat File1 >/proc/self/fd/2 ; exit $$rc"命令在 Linux shell 中做什么?

elasticsearch - Elasticsearch查找所有 'delivered'但不是 'opened'的消息

java - 为什么即使 key.equals(k) ConcurrentHashMap 也不返回值?

c - 回显服务器代码不工作

elasticsearch - 如何使用带有对象初始值设定项语法的Nest进行原始查询?

sql - mySQL中的地理位置:将大型数组放置在哪里,如何正确执行?