# Elasticsearch 5.0.1 fails to start on AWS with discovery-ec2: BindException\[Cannot assign requested address\]

**URL:** <https://discuss.elastic.co/t/elasticsearch-5-0-1-fails-to-start-on-aws-with-discovery-ec2-bindexception-cannot-assign-requested-address/66524>\
**Category:** Elasticsearch\
**Created:** [November 18, 2016, 11:08am UTC](https://discuss.elastic.co/t/elasticsearch-5-0-1-fails-to-start-on-aws-with-discovery-ec2-bindexception-cannot-assign-requested-address/66524 "2016-11-18T11:08:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sylrouss](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sylrouss/32/13280_2.png) [@sylrouss](https://discuss.elastic.co/u/sylrouss)\
**Post date:** [November 18, 2016, 11:08am UTC](https://discuss.elastic.co/t/elasticsearch-5-0-1-fails-to-start-on-aws-with-discovery-ec2-bindexception-cannot-assign-requested-address/66524/1 "2016-11-18T11:08:34Z")

</div>

Hi friends,

With the following **elasticsearch.yaml:**  
[cluster.name](http://cluster.name): \*\*\*  
[node.name](http://node.name): ${HOSTNAME}

```
cloud:
    aws:
        region: eu-west-1

discovery:
    type: ec2

network:
    host: _ec2

discovery.zen.minimum_master_nodes: 1
discovery.zen.ping_timeout: 10s

```

**Dockerfile** :  
FROM elasticsearch:5.0  
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install discovery-ec2  
COPY elasticsearch.yml /usr/share/elasticsearch/config/  
COPY log4j2.properties /usr/share/elasticsearch/config/  
USER elasticsearch  
CMD ["/usr/share/elasticsearch/bin/elasticsearch"]

Elasticsearch starting logs (DEBUG level):  
...  
Register _ec2_, _ec2:xxx_ network names  
...  
using profile[default], worker\_count[4], port[9300-9400], bind\_host[null], publish\_host[null], compress[false], connect\_timeout[30s], connections\_per\_node[2/3/6/1/1], receive\_predictor[512kb-\>512kb]  
obtaining ec2 hostname from ec2 meta-data url http://_._._._/latest/meta-data/local-ipv4  
binding server bootstrap to: [172.31.10.157]  
...  
org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[Cannot assign requested address];  
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:116) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.1.jar:5.0.1]  
Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400]  
at org.elasticsearch.transport.TcpTransport.bindToPort(TcpTransport.java:626) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.transport.TcpTransport.bindServer(TcpTransport.java:591) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.transport.netty4.Netty4Transport.doStart(Netty4Transport.java:182) ~[?:?]  
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.transport.TransportService.doStart(TransportService.java:182) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.node.Node.start(Node.java:525) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:211) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:288) ~[elasticsearch-5.0.1.jar:5.0.1]  
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.1.jar:5.0.1]  
... 6 more  
Caused by: java.net.BindException: Cannot assign requested address  
at sun.nio.ch.Net.bind0(Native Method) ~[?:?]  
at sun.nio.ch.Net.bind(Net.java:433) ~[?:?]  
at sun.nio.ch.Net.bind(Net.java:425) ~[?:?]  
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[?:?]  
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127) ~[?:?]  
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:554) ~[?:?]  
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1258) ~[?:?]  
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:511) ~[?:?]  
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:496) ~[?:?]  
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:980) ~[?:?]  
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:250) ~[?:?]  
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:363) ~[?:?]  
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[?:?]  
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:418) ~[?:?]  
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:440) ~[?:?]  
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873) ~[?:?]  
at java.lang.Thread.run(Thread.java:745) [?:1.8.0\_111]  
...

Any ideas?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 18, 2016, 11:26am UTC](https://discuss.elastic.co/t/elasticsearch-5-0-1-fails-to-start-on-aws-with-discovery-ec2-bindexception-cannot-assign-requested-address/66524/2 "2016-11-18T11:26:41Z")

</div>

You are running in a Docker container, right?

If so, you can't assign the `_ec2_` address I think as the Docker network address is not the private IP address assigned by EC2.

I'm not a Docker user so can't tell more but this is my guess at least.

---

<div class="post-metadata">

**Author:** ![sylrouss](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sylrouss/32/13280_2.png) [@sylrouss](https://discuss.elastic.co/u/sylrouss)\
**Post date:** [November 18, 2016, 1:24pm UTC](https://discuss.elastic.co/t/elasticsearch-5-0-1-fails-to-start-on-aws-with-discovery-ec2-bindexception-cannot-assign-requested-address/66524/3 "2016-11-18T13:24:13Z")

</div>

OK, it makes sense 🙂  
Using _site_ makes it works, standalone.

Then, to create a cluster, which elasticsearch.yml should be used to ensure master/slaves can join themselves using AWS/Docker?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 16, 2016, 1:24pm UTC](https://discuss.elastic.co/t/elasticsearch-5-0-1-fails-to-start-on-aws-with-discovery-ec2-bindexception-cannot-assign-requested-address/66524/4 "2016-12-16T13:24:32Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
