WARNING: Version 2.4 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Elasticsearch 2.x will only bind to localhost by default. It will try to bind
to both 127.0.0.1 (IPv4) and [::1] (IPv6), but will work happily in
environments where only IPv4 or IPv6 is available. This change prevents
Elasticsearch from trying to connect to other nodes on your network unless you
specifically tell it to do so. When moving to production you should configure
network.host parameter, either in the
elasticsearch.yml config file or
on the command line:
bin/elasticsearch --network.host 192.168.1.5 bin/elasticsearch --network.host _non_loopback_
The full list of options that network.host accepts can be found in the Network Settings.
Multicast has been removed (although it is still
provided as a plugin for now). Instead,
and only when bound to localhost, Elasticsearch will use unicast to contact
the first 5 ports in the
transport.tcp.port range, which defaults to
This preserves the zero-config auto-clustering experience for the developer, but it means that you will have to provide a list of unicast hosts when moving to production, for instance:
discovery.zen.ping.unicast.hosts: [ 192.168.1.2, 192.168.1.3 ]
You don’t need to list all of the nodes in your cluster as unicast hosts, but you should specify at least a quorum (majority) of master-eligible nodes. A big cluster will typically have three dedicated master nodes, in which case we recommend listing all three of them as unicast hosts.