Sonarqube 后台任务 运行 永远
Sonarqube background tasks running forever
我们 运行 SonarQube 5.6.4 已经有一段时间了。然后我们突然观察到后台任务的队列在增加。在日志中我们看到这样的消息:
2017.07.24 13:56:10 INFO [o.s.s.es.BulkIndexer] 0 requests processed (0 items/sec)
每分钟一个日志条目。
随后启动的其他任务失败:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes were available: [[sonar-1498219166409][3QkGfCI8RUSn6vapRi5SSg][a2d477fdfe7a][inet[/127.0.0.1:9001]
我不知道如何找到导致错误的原因。配置没有任何变化。
我重新启动了服务器,但没有任何改变。
对我来说值得注意的是弹性搜索似乎打开的端口数量:
tcp 0 0 localhost:etlservicemgr localhost:53058 ESTABLISHED 24/java
tcp 0 0 localhost:etlservicemgr localhost:53070 ESTABLISHED 24/java
tcp 0 0 localhost:53058 localhost:etlservicemgr ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52934 ESTABLISHED 24/java
tcp 0 0 a2d477fdfe7a:49760 sonar-db.netwo:postgres ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52846 ESTABLISHED 24/java
tcp 0 0 localhost:52924 localhost:etlservicemgr ESTABLISHED 119/java
tcp 0 0 localhost:52928 localhost:etlservicemgr ESTABLISHED 119/java
tcp 0 0 localhost:53076 localhost:etlservicemgr ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52866 ESTABLISHED 24/java
tcp 0 0 localhost:53074 localhost:etlservicemgr ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52922 ESTABLISHED 24/java
(真的五倍)
有谁知道如何找到问题的原因吗?
sonarqube.properties 有默认值。唯一的变化是:
sonar.security.realm=LDAP
sonar.security.savePassword=true
sonar.security.updateUserAttributes=true
sonar.authenticator.downcase=true
sonar.authenticator.createUsers=true
和 LDAP 配置。
虽然我仍然不明白为什么任务被卡住并且没有抛出异常,但我们的问题似乎可以通过将 worker 的堆空间从 500MB 增加到 1GB 来解决:
sonar.ce.javaOpts=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true
我们 运行 SonarQube 5.6.4 已经有一段时间了。然后我们突然观察到后台任务的队列在增加。在日志中我们看到这样的消息:
2017.07.24 13:56:10 INFO [o.s.s.es.BulkIndexer] 0 requests processed (0 items/sec)
每分钟一个日志条目。
随后启动的其他任务失败:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes were available: [[sonar-1498219166409][3QkGfCI8RUSn6vapRi5SSg][a2d477fdfe7a][inet[/127.0.0.1:9001]
我不知道如何找到导致错误的原因。配置没有任何变化。
我重新启动了服务器,但没有任何改变。
对我来说值得注意的是弹性搜索似乎打开的端口数量:
tcp 0 0 localhost:etlservicemgr localhost:53058 ESTABLISHED 24/java
tcp 0 0 localhost:etlservicemgr localhost:53070 ESTABLISHED 24/java
tcp 0 0 localhost:53058 localhost:etlservicemgr ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52934 ESTABLISHED 24/java
tcp 0 0 a2d477fdfe7a:49760 sonar-db.netwo:postgres ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52846 ESTABLISHED 24/java
tcp 0 0 localhost:52924 localhost:etlservicemgr ESTABLISHED 119/java
tcp 0 0 localhost:52928 localhost:etlservicemgr ESTABLISHED 119/java
tcp 0 0 localhost:53076 localhost:etlservicemgr ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52866 ESTABLISHED 24/java
tcp 0 0 localhost:53074 localhost:etlservicemgr ESTABLISHED 220/java
tcp 0 0 localhost:etlservicemgr localhost:52922 ESTABLISHED 24/java
(真的五倍)
有谁知道如何找到问题的原因吗?
sonarqube.properties 有默认值。唯一的变化是:
sonar.security.realm=LDAP
sonar.security.savePassword=true
sonar.security.updateUserAttributes=true
sonar.authenticator.downcase=true
sonar.authenticator.createUsers=true
和 LDAP 配置。
虽然我仍然不明白为什么任务被卡住并且没有抛出异常,但我们的问题似乎可以通过将 worker 的堆空间从 500MB 增加到 1GB 来解决:
sonar.ce.javaOpts=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true