What happens if we don't provide ports for hosts in field discovery.zen.ping.unicast inside elasticsearch.yml?
When we do have 2 VMs and 2 hosts names listed in discovery.zen.ping.unicast, ES is creating 4 nodes , 2 for each host with 9300 and 9301 ports. I am not getting why its like this?
This is correct. If you do not provide a port, ES will start on default port of 9300, and if that port is already taken, it will try to the next one (9300++) until it finds one that is available.