Docker master failed to Join the cluster

I m trying to form 2 data, 2 master and 2 ingest node cluster across two different EC2 servers using docker image. I created Data nodes with explicit port mappings 9200 →9200 and 9300 → 9300 and both joined the cluster successfully,. Now I am trying to bring the Master only node with dynamic port mapping 0 → 9300. I went with dynamic port for master to avoid the port conflicts as both master, data and ingest run on same machine. Not sure if that is cause of the issue. If that is issue, How can I run master and data node on same machine? I see the handshake failed in the logs. what could be the cause for that?

[2018-08-27T14:27:54,108][INFO ][o.e.d.z.ZenDiscovery ] [Lc7r6gf] failed to send join request to master [{jVb1EHy}{jVb1EHyrS521ChMB-B21gA}{Njt6BCkiTdKx2hxzJk6ptg}{40.x.xx.89}{40.x.xx.89:9300}{aws_availability_zone=us-east-1a}], reason [RemoteTransportException[[jVb1EHy][172.17.0.2:9300][internal:discovery/zen/join]]; nested: ConnectTransportException[[Lc7r6gf][40.x.xx.134:9300] handshake failed. unexpected remote node {q_NYMNz}{q_NYMNz0R0mY4AOn0KWgeQ}{2h3cs-dHTo-FzEnGE4yliw}{40.xx.xx.134}{40.x.xx.134:9300}{aws_availability_zone=us-east-1c}]; ]

Hello Experts,

I looked across all the forums but couldn't find answer. As this is EC2 specific setup, I m looking for some suggestions. From setup perspective, I installed the discovery-ec2 and repository-s3 plugins and configured appropriate EC2 instance tags that required to find each other node. I installed 3 Elastic Search nodes on 3 EC2 servers and validated all the nodes joined the cluster. The problem started when I tried to run multiple Elastic Search nodes on the same server. I would like to run both data and master node on same server. How can I configure so they can find each other? As EC2 uses different discovery type, I think it has to be configured differently. Please provide me some guidance.

cluster.name: "elasticsearch"
bootstrap.memory_lock: false
network.host: 0.0.0.0
network.publish_host: ec2:privateIp
transport.publish_host: ec2:privateIp
discovery.zen.hosts_provider: ec2
discovery.ec2.tag.ElasticSearch: esnode
discovery.ec2.endpoint: ec2.${REGION}.amazonaws.com
s3.client.default.endpoint: s3.${REGION}.amazonaws.com
cloud.node.auto_attributes: true
cluster.routing.allocation.awareness.attributes: aws_availability_zone

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