SonarQube Serve не запускается: StartSonar.bat

Я пытаюсь запустить StartSonar.bat из командной строки, чтобы запустить эхолот, но это дает мне исключение. Похоже, что это связано с проблемой памяти или версии Java, но я не могу найти основную причину. Ценю любую помощь по этому вопросу.

Версия Sonarqube - 5.4 версия сонара-сканера - 2.6.1

файл журнала ниже.

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

2017.01.12 18:30:42 INFO  app[o.s.a.AppFileSystem] Cleaning or creating temp directory C:\Users\502698332\Downloads\Code Review\sonarqube-5.4\sonarqube-5.4\temp
2017.01.12 18:30:42 INFO  app[o.s.p.m.JavaProcessLauncher] Launch process[search]: C:\Program Files\Java\jre1.8.0_112\bin\java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=C:\Users\502698332\Downloads\Code Review\sonarqube-5.4\sonarqube-5.4\temp -cp ./lib/common/*;./lib/search/* org.sonar.search.SearchServer C:\Users\502698~1\AppData\Local\Temp\sq-process506451527421407979properties
2017.01.12 18:30:43 INFO   es[o.s.p.ProcessEntryPoint]  Starting search
2017.01.12 18:30:43 INFO   es[o.s.s.SearchSettings]  Elasticsearch listening on 127.0.0.1:9001
2017.01.12 18:30:43 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] version[1.7.2], pid[12896], build[e43676b/2015-09-14T09:49:53Z]
2017.01.12 18:30:43 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] initializing ...
2017.01.12 18:30:43 INFO   es[o.e.plugins]  [sonar-1484226042365] loaded [], sites []
2017.01.12 18:30:43 INFO   es[o.elasticsearch.env]  [sonar-1484226042365] using [1] data paths, mounts [[Windows7 (C:)]], net usable_space [379.4gb], net total_space [465.7gb], types [NTFS]
2017.01.12 18:30:44 WARN   es[o.e.bootstrap]  JNA not found. native methods will be disabled.
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] initialized
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] starting ...
2017.01.12 18:30:44 WARN   es[o.s.p.ProcessEntryPoint]  Fail to start search
org.elasticsearch.transport.BindTransportException: Failed to bind to [9001]
    at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:422) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:283) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.TransportService.doStart(TransportService.java:153) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.node.internal.InternalNode.start(InternalNode.java:257) ~[elasticsearch-1.7.2.jar:na]
    at org.sonar.search.SearchServer.start(SearchServer.java:45) [sonar-search-5.4.jar:na]
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:81) ~[sonar-process-5.4.jar:na]
    at org.sonar.search.SearchServer.main(SearchServer.java:79) [sonar-search-5.4.jar:na]
Caused by: org.elasticsearch.common.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:9001
    at org.elasticsearch.common.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport$1.onPortNumber(NettyTransport.java:413) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:58) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:409) ~[elasticsearch-1.7.2.jar:na]
    ... 8 common frames omitted
Caused by: java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_112]
    at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_112]
    at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_112]
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) ~[na:1.8.0_112]
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) ~[na:1.8.0_112]
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) ~[elasticsearch-1.7.2.jar:na]
    at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ~[elasticsearch-1.7.2.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:1.8.0_112]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:1.8.0_112]
    at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_112]
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] stopping ...
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] stopped
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] closing ...
2017.01.12 18:30:44 INFO   es[o.elasticsearch.node]  [sonar-1484226042365] closed
<-- Wrapper Stopped

2 ответа

Решение

Ошибка довольно явная:

org.elasticsearch.transport.BindTransportException: Failed to bind to [9001]
...
Caused by: java.net.BindException: Address already in use: bind

Порт 9001 не является бесплатным для использования SonarQube. Может быть, другой экземпляр SonarQube уже использует его, может быть, какой-то другой процесс / зомби. См. Этот вопрос Stackru для получения инструкций о том, как идентифицировать процесс с использованием определенного порта в Windows.

Решение от их:

  • разобраться с процессом уже слушающим на порте 9001

  • попросите сервер SonarQube прослушивать разные порты: sonar.web.port и sonar.search.port в sonar.properties

Иногда невозможно остановить запущенное в данный момент приложение с портом (9001). Это может запускать какие-либо операции, связанные с системой. Вместо отключения существующего приложения необходимо изменить порт SonarQube с 9001 на другой.

Например, в sonar.properties измените эту строку "#sonar.search.port=9001" на "sonar.search.port=9002"(что работает для меня)

Другие вопросы по тегам