【问题标题】:Failed to start SonarQube in Windows Subsystem (Ubuntu 16.04)在 Windows 子系统(Ubuntu 16.04)中启动 SonarQube 失败
【发布时间】:2022-04-10 23:27:16
【问题描述】:

我正在使用带有 Ubuntu 子系统的 windows 10。我尝试使用启动服务器

/opt/sonar/bin/linux-x86-64/sonar.sh start

但出现错误

Starting SonarQube...
Failed to start SonarQube.

**并且没有生成日志。**我想知道如何在不使用 root 的情况下在 WSL 中完美地运行 sonarqube。我知道我们不能以 root 身份运行 sonarqube,但是当我尝试使用超级用户启动服务器时,它会启动但声纳无法工作。

错误日志:

2018.02.21 07:26:59 ERROR es[][o.e.b.Bootstrap] Exception
java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.3.jar:5.6.3]
2018.02.21 07:26:59 WARN  es[][o.e.b.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.3.jar:5.6.3]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.3.jar:5.6.3]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.3.jar:5.6.3]
        ... 6 more

声纳日志:

Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2018.02.21 07:26:50 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonar/temp
2018.02.21 07:26:50 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.02.21 07:26:50 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonar/elasticsearch]: /opt/sonar/elasticsearch/bin/elasticsearch -Epath.conf=/opt/sonar/temp/conf/es
2018.02.21 07:26:50 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2018.02.21 07:26:50 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.02.21 07:26:50 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.02.21 07:26:59 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
2018.02.21 07:26:59 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2018.02.21 07:26:59 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped

【问题讨论】:

  • 可能是文件限制的问题。用户是否有权运行应用程序和写入日志?还有你为什么使用linux子系统。我们在 Windows 服务器上使用 Sonarqube,它运行得很好。
  • 尊敬的@Fabrice - SonarSource 团队,您必须阅读完整的问题
  • @DipendraSharma 抱歉,由于与 root 的使用相关的巨大堆栈跟踪,我错过了重点。我建议您编辑您的问题以删除该部分(关于以“root”身份启动),因为它隐藏了真正的问题。
  • 如果可以,请您编辑一下……
  • @Ssindeler,我查看了很多博客。并试图提供完整的权限但无法继续运行。

标签: sonarqube ubuntu-16.04 windows-subsystem-for-linux


【解决方案1】:

Sonarqube 具有 docker 服务器配置要求。与文档描述相同。

由于 SonarQube 使用嵌入式 Elasticsearch,请确保您的 Docker 主机配置符合 Elasticsearch 生产 模式要求和文件描述符配置。

例如,在 Linux 上,您可以为 通过在主机上以 root 身份运行以下命令来当前会话:

sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192

对于带有 docker wsl 的 windows,我已经配置了

wsl -d docker-desktop
sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072

而且它似乎工作正常。 希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2019-11-28
    • 2017-04-28
    • 2021-04-05
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2017-11-16
    相关资源
    最近更新 更多