【问题标题】:sonarqube exception caught on transport layer传输层捕获的声纳异常
【发布时间】:2021-01-21 15:19:16
【问题描述】:

大家下午好,问题是我有一个带有 SonarQube 的服务器,当我尝试启动 Windows 服务时,它会启动但随后停止。

sonarqube 日志中出现以下错误:

2017.11.14 11:04:52 WARN  sea[o.e.transport.netty]  [sonar-1510653879773] exception caught on transport layer [[id: 0x346b46fb, /127.0.0.1:59330 => /127.0.0.1:9001]], closing connection
java.io.IOException: An existing connection was forcibly closed by the remote host
                at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.8.0_152]
                at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) ~[na:1.8.0_152]
                at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_152]
                at sun.nio.ch.IOUtil.read(IOUtil.java:192) ~[na:1.8.0_152]
                at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[na:1.8.0_152]
                at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:64) [elasticsearch-1.1.2.jar:na]
                at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) [elasticsearch-1.1.2.jar:na]
                at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) [elasticsearch-1.1.2.jar:na]
                at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) [elasticsearch-1.1.2.jar:na]
                at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [elasticsearch-1.1.2.jar:na]
                at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [elasticsearch-1.1.2.jar:na]
                at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [elasticsearch-1.1.2.jar:na]
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_152]
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_152]
                at java.lang.Thread.run(Thread.java:748) [na:1.8.0_152]
2017.11.14 11:04:52 INFO  app[o.s.p.m.TerminatorThread] Process[search] is stopping
2017.11.14 11:04:52 INFO  sea[o.s.p.StopWatcher]  Stopping process

你知道为什么会出现这个错误吗? 我已正确设置了 sonar.properties,包括将 sonar.search.port 属性的值设置为 0,正如此链接所示:Sonar launch error,但问题仍然存在。

希望你能帮帮我……

问候!!!

【问题讨论】:

  • 您使用什么样的硬件/软件?
  • 你好吗@JeroenHeier!它是一台本地计算机,不是要使用的服务器,尽管它仅用于运行一系列应用程序(Jenkins、SonarQube 等)。它有一个 Windows 10 操作系统,它是一台最近安装的机器,因为它已经过时了。 Sonar 版本是 sonarqube-4.5.4,它与 postgresql 数据库一起使用。
  • 那是旧的 SonarQube 版本。如果您使用“新”插件,这可能不起作用。您应该开始制定迁移计划以迁移到 SonarQube 5.6 或 6.7。
  • 在我的情况下,除了 Grahams 的回复之外,我意识到,我只是忘记了,当我从 5.3.6 升级到 7.6.3 LTS 时安装 sonarqube-ldap-plugin。结果相同。也看看这里:stackoverflow.com/questions/38601224/…

标签: elasticsearch sonarqube


【解决方案1】:

在声纳属性文件中取消注释下面的行并将端口 9001 更改为 0

#sonar.search.port=9001
sonar.search.port=0

【讨论】:

    【解决方案2】:

    我有同样的问题,我可以这样解决它:

    1. 转到此文件夹:sonarqube-x.x\conf
    2. 打开这个文件:sonar.properties
    3. 查找单词:#sonar.web.port
    4. 将值从 9000 更改为另一个端口,例如 9002
    5. 保存更改
    6. 重新开始你的声纳
    7. 使用端口9000访问服务器:http://localhost:9000

    【讨论】:

    • 它有效,但我必须在第 7 步中使用 9002。你确定要写9000吗?与第四步不一致!
    【解决方案3】:

    原因可能是sonarQube 的port number 或sonarQube 使用的elasticSearch 实例之一(我之前遇到过类似的问题),因此更改这两个/其中一个端口的步骤是:

    1. 转到此文件夹:sonarqube-x.x\conf
    2. 打开这个文件:sonar.properties
    3. 对于 sonarQube 端口:
    • 查找:#sonar.web.port
    • 将值从 9000 更改为另一个端口,例如 9123;并取消注释该行(删除开头的#)sonar.web.port=9123
    1. 对于 sonarQube 的 elasticSearch 实例端口:
    • 查找:#sonar.search.port
    • 将此行改为sonar.search.port=0(这意味着他将搜索任何可用的端口并绑定它)
    1. 保存更改
    2. 重新开始你的声纳

    使用新指定的 sonarQube-port 访问服务器:http://localhost:9123

    【讨论】:

    • 确保也取消注释sonar.search.port=0 行。
    【解决方案4】:

    我在将 SonarQube 从版本 5.6.7 升级到 6.7.1 时遇到此错误。

    最初我认为这是由于端口号,但在检查 web.log 后,我注意到与 LDAP 插件 (2.2.0.608) 相关的错误。

        ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube org.sonar.plugins.ldap.LdapException: The property 'ldap.url' is empty and no realm configured to try auto-discovery.
    

    使用正确的配置更新 sonar.properties 文件允许 SonarQube 启动。

    【讨论】:

    【解决方案5】:

    我刚刚遇到了一个和你完全相同的问题。 我用 MariaDB 5.5 启动 SonarQube,但在 sonarqube-x.x/logs/web.log 中发现了一些错误消息:

    2021.01.21 14:36:17 INFO  web[][o.s.p.ProcessEntryPoint] Starting web
    ......
    2021.01.21 14:36:19 ERROR web[][o.s.s.p.Platform] Web server startup failed: Unsupported mysql version: 5.5. Minimal supported version is 5.6.
    

    所以我把我的数据库改成了 MySQL 5.7,它启动成功了。

    不太确定您是否遇到了同样的问题,但只需检查这些日志文件,看看在启动过程中实际发生了什么。

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2012-04-13
      • 2014-11-24
      相关资源
      最近更新 更多