Elasticsearch plug-in 1.3

I have seen this error when I XDCR to elasticsearch.

[WARN ][org.eclipse.jetty.util.component.AbstractLifeCycle]
FAILED SelectChannelConnector@0.0.0.0:9091: java.net.BindException: Address already in use: bind

I have 2 nodes on one physical server. One is Master Node (Non-Data Node) and the other is Data Node. When starting Master Node, everything is fine. But when starting Data Node (After Master Node is started), this error is printed. I understand that 9091 is taken by Master Node for XDCR. Do I need to change a port # for XDCR on Data Node, or can I ignore this error?

I paste the whole log (Data Node) below.


C:\DevPrograms\elasticsearch\1.0.1>bin\elasticsearch -Des.node.data=true -Des.node.master=false -Des.node.name=D1 -Des.transport.tcp.port=9310
[2014-11-07 14:48:47,083][INFO ][node ] [D1] version[1.0.1], pid[12040], build[5c03844/2014-02-25T15:52:53Z]
[2014-11-07 14:48:47,083][INFO ][node ] [D1] initializing …
[2014-11-07 14:48:47,107][INFO ][plugins] [D1] loaded [marvel, transport-couchbase], sites [marvel, head]
[2014-11-07 14:48:54,003][INFO ][node ] [D1] initialized
[2014-11-07 14:48:54,003][INFO ][node ] [D1] starting …
[2014-11-07 14:48:54,307][INFO ][org.eclipse.jetty.server.Server] jetty-8.1.0.v20120127
[2014-11-07 14:48:54,394][WARN ][org.eclipse.jetty.util.component.AbstractLifeCycle] FAILED SelectChannelConnector@0.0.0.0:9091: java.net.BindException: Address already in use: bind
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:414)
at sun.nio.ch.Net.bind(Net.java:406)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:173)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:311)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:251)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.eclipse.jetty.server.Server.doStart(Server.java:274)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.elasticsearch.transport.couchbase.capi.CouchbaseCAPITransportImpl$1.onPortNumber(CouchbaseCAPITransportImpl.java:159)
at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:69)
at org.elasticsearch.transport.couchbase.capi.CouchbaseCAPITransportImpl.doStart(CouchbaseCAPITransportImpl.java:143)
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85)
at org.elasticsearch.transport.couchbase.CouchbaseCAPI.doStart(CouchbaseCAPI.java:42)
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85)
at org.elasticsearch.node.internal.InternalNode.start(InternalNode.java:216)
at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:120)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:204)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
[2014-11-07 14:48:54,397][WARN ][org.eclipse.jetty.util.component.AbstractLifeCycle] FAILED com.couchbase.capi.CAPIServer@15c4af7a: java.net.BindException: Address already in use: bind
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:414)
at sun.nio.ch.Net.bind(Net.java:406)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:173)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:311)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:251)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.eclipse.jetty.server.Server.doStart(Server.java:274)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.elasticsearch.transport.couchbase.capi.CouchbaseCAPITransportImpl$1.onPortNumber(CouchbaseCAPITransportImpl.java:159)
at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:69)
at org.elasticsearch.transport.couchbase.capi.CouchbaseCAPITransportImpl.doStart(CouchbaseCAPITransportImpl.java:143)
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85)
at org.elasticsearch.transport.couchbase.CouchbaseCAPI.doStart(CouchbaseCAPI.java:42)
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:85)
at org.elasticsearch.node.internal.InternalNode.start(InternalNode.java:216)
at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:120)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:204)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
[2014-11-07 14:48:54,399][INFO ][org.eclipse.jetty.server.Server] jetty-8.1.0.v20120127
[2014-11-07 14:48:54,421][INFO ][org.eclipse.jetty.server.AbstractConnector] Started SelectChannelConnector@0.0.0.0:9092
[2014-11-07 14:48:54,422][INFO ][transport.couchbase] [D1] bound_address {inet[0.0.0.0/0.0.0.0:9092]}, publish_address {inet[/10.10.109.107:9092]}

[2014-11-07 14:48:54,538][INFO ][transport] [D1] bound_address {inet[/0:0:0:0:0:0:0:0:9310]}, publish_address {inet[/10.10.109.107:9310]}
[2014-11-07 14:48:57,864][INFO ][cluster.service] [D1] detected_master [M1][YZFaKrGuQZ6luMYLmsdBnQ][SERVER1111][inet[/10.10.109.107:9300]]{data=false, master=true}, added {[M1][YZFaKrGuQZ6luMYLmsdBnQ][SERVER1111][inet[/10.10.109.107:9300]]{data=false, master=true},}, reason: zen-disco-receive(from master [[M1][YZFaKrGuQZ6luMYLmsdBnQ][SERVER1111][inet[/10.10.109.107:9300]]{data=false, master=true}])
[2014-11-07 14:48:57,886][INFO ][discovery] [D1] boarshead/E4XYfyQ4RCyQrnBe9lyLlw
[2014-11-07 14:48:57,950][INFO ][http] [D1] bound_address {inet[/0:0:0:0:0:0:0:0:9201]}, publish_address {inet[/10.10.109.107:9201]}
[2014-11-07 14:48:57,953][INFO ][node] [D1] started
[2014-11-07 14:58:27,618][INFO ][cluster.service] [D1] added {[D2][rseU95-4QwCMyRPA3d2vVA][SERVER1111][inet[/10.10.109.107:9320]]{master=false},}, reason: zen-disco-receive(from master [[M1][YZFaKrGuQZ6luMYLmsdBnQ][SERVER1111][inet[/10.10.109.107:9300]]{data=false, master=true}])

@mschoch do you have an inkling on what this might be or who might know?

The Couchbase plugin must run on all nodes, as we distribute traffic across all nodes, even if you’ve configured some nodesvto not store any data.

To change the port set

couchbase.port

in the elasticsearch.yml file.

When setting up an XDCR, you create a Cluster Reference. Right now I have only one cluster reference that points to Port 9091. If I have different ports, do I need to create cluster references that point to each different port?

No just to one of them, it auto discovers the rest.

Resolved. Thank you very much.