2015-01-11 6 views
3

Я пытаюсь установить последнюю версию сонара в экземпляр openshift, когда поиск пытается начать, он пытается привязать к 0.0.0.0:9001, но openshift не позволяет привязываться ко всем интерфейсам, поэтому у меня есть установить ip, где в конфигурации я могу установить это свойство?Openshift sonarqube

я уже настроил гидролокатор внутрибрюшинен для связывания, как это

# Binding IP address. For servers with more than one IP address, this property specifies which 
# address will be used for listening on the specified ports. 
# By default, ports will be used on all IP addresses associated with the server. 
sonar.web.host=${env:OPENSHIFT_DIY_IP} 

Заранее спасибо

[Редактировать]

Я изменил конфигурационный файл, так что он присваивает IP-адрес непосредственно , но по-прежнему имеет ту же ошибку, не так ли, что он игнорирует настройку?

2015.01.13 20:09:47 WARN sea[o.s.p.ProcessEntryPoint] Starting search 
2015.01.13 20:09:47 INFO sea[o.s.s.SearchServer] Starting ES[sonarqube] on port: 15000 
2015.01.13 20:09:47 INFO sea[o.elasticsearch.node] [sonar-1421197785954] version[1.1.2], pid[286110], build[e511f7b/2014-05-22T12:27:39Z] 
2015.01.13 20:09:47 INFO sea[o.elasticsearch.node] [sonar-1421197785954] initializing ... 
2015.01.13 20:09:47 INFO sea[o.e.plugins] [sonar-1421197785954] loaded [], sites [] 
2015.01.13 20:09:51 INFO sea[o.elasticsearch.node] [sonar-1421197785954] initialized 
2015.01.13 20:09:51 INFO sea[o.elasticsearch.node] [sonar-1421197785954] starting ... 
2015.01.13 20:09:52 WARN sea[o.s.p.ProcessEntryPoint] Fail to start search 
org.elasticsearch.transport.BindTransportException: Failed to bind to [15000] 
    at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:381) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.transport.TransportService.doStart(TransportService.java:92) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.node.internal.InternalNode.start(InternalNode.java:229) ~[elasticsearch-1.1.2.jar:na] 
    at org.sonar.search.SearchServer.start(SearchServer.java:135) [sonar-search-4.5.2.jar:na] 
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:77) ~[sonar-process-4.5.2.jar:na] 
    at org.sonar.search.SearchServer.main(SearchServer.java:261) [sonar-search-4.5.2.jar:na] 
Caused by: org.elasticsearch.common.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:15000 
    at org.elasticsearch.common.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.transport.netty.NettyTransport$3.onPortNumber(NettyTransport.java:372) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:58) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:368) ~[elasticsearch-1.1.2.jar:na] 
    ... 7 common frames omitted 
java.net.SocketException: Permiso denegado 
    at sun.nio.ch.Net.bind0(Native Method) ~[na:1.7.0_71] 
    at sun.nio.ch.Net.bind(Net.java:444) ~[na:1.7.0_71] 
    at sun.nio.ch.Net.bind(Net.java:436) ~[na:1.7.0_71] 
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) ~[na:1.7.0_71] 
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.7.0_71] 
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:372) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:296) ~[elasticsearch-1.1.2.jar:na] 
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) ~[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:1145) ~[na:1.7.0_71] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_71] 
    at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_71] 
+0

Последняя версия означает? – CSchulz

+1

«$ {env: OPENSHIFT_DIY_IP}» не работает, см. Https://jira.codehaus.org/browse/SONAR-3682 –

+0

@CSchulz это версия 4.5.2 – jaxkodex

ответ

1

${env:OPENSHIFT_DIY_IP} не работает, поскольку переменная среды еще не обработаны.

Пожалуйста, смотрите и голосуйте за http://jira.codehaus.org/browse/SONAR-3682

+0

Итак, я пытался, а не использовать переменную env, поэтому я автоматически назначил ip. Кажется, он полностью игнорирует настройку. Я отредактировал свой вопрос с ошибкой. – jaxkodex

+0

Можете ли вы показать нам содержимое вашего файла sonar.properties? (например, поставьте его на http://pastebin.com). Спасибо –

+0

Эй, извините за задержку, вот мои конфиги https://gist.github.com/jaxkodex/468d3c53dc32a4fdaa3c – jaxkodex

0

Вы могли бы заменить переменные в скрипте сборки как these guys did.
Проблема с вашего редактирования можно избежать, добавив в вашей сборке

# Adapt elasticsearch host 
sed -i "s/^#sonar.search.javaAdditionalOpts=.*$/sonar.search.javaAdditionalOpts=-Des.network.host=$OPENSHIFT_DIY_IP/" sonar.properties 
# Adapt elasticsearch host to be in permitted range 15000-35530 for openshift, as specified here: https://help.openshift.com/hc/en-us/articles/202185874 
sed -i "s/^#sonar.search.port=.*$/sonar.search.port=35530/" sonar.properties 

Но вы в конечном итоге с NoNodeAvailableException: No node available. Я задал более конкретный вопрос об этом here. Надеюсь, у кого-то появляется идея о том, как это решить.