Turns out I had the wrong IP in my security group. Before I changed it I added the port range of 9200-9400 in the config file.
Even after I changed it it was throwing HTTP exceptions.
I guess I was being too overzealous with the port definition.
Removed the ports from the config and all good.
I am using AWS EC2 and I have to elastic nodes and I have configured to unicast and to discover each other. But when I start the service It's showing one connected and not 2.
Here is a sample from my config:
2. Configure an initial list of master nodes in the cluster
to perform discovery when new nodes (master or data) are started:
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]
discovery.zen.ping.unicast.hosts: ["10.20.5.15", "10.20.5.16"]
Security groups are updated to allow 9200/9300.