Network Settingsedit

There are several modules within a Node that use network based configuration, for example, the transport and http modules. Node level network settings allows to set common settings that will be shared among all network based modules (unless explicitly overridden in each module).

The network.bind_host setting allows to control the host different network components will bind on. By default, the bind host will be _local_ (loopback addresses such as 127.0.0.1, ::1).

The network.publish_host setting allows to control the host the node will publish itself within the cluster so other nodes will be able to connect to it. Currently an elasticsearch node may be bound to multiple addresses, but only publishes one. If not specified, this defaults to the "best" address from network.bind_host. By default, IPv4 addresses are preferred to IPv6, and ordinary addresses are preferred to site-local or link-local addresses.

The network.host setting is a simple setting to automatically set both network.bind_host and network.publish_host to the same host value.

Both settings allows to be configured with either explicit host address or host name. The settings also accept logical setting values explained in the following table:

Logical Host Setting ValueDescription

_local_

Will be resolved to loopback addresses

_local:ipv4_

Will be resolved to loopback IPv4 addresses

_local:ipv6_

Will be resolved to loopback IPv6 addresses

_non_loopback_

Addresses of the first non loopback interface

_non_loopback:ipv4_

IPv4 addresses of the first non loopback interface

_non_loopback:ipv6_

IPv6 addresses of the first non loopback interface

_[networkInterface]_

Resolves to the addresses of the provided network interface. For example _en0_.

_[networkInterface]:ipv4_

Resolves to the ipv4 addresses of the provided network interface. For example _en0:ipv4_.

_[networkInterface]:ipv6_

Resolves to the ipv6 addresses of the provided network interface. For example _en0:ipv6_.

When the cloud-aws plugin is installed, you can use ec2 specific host settings.

When the cloud-gce plugin is installed, you can use gce specific host settings.

TCP Settingsedit

Any component that uses TCP (like the HTTP, Transport and Memcached) share the following allowed settings:

SettingDescription

network.tcp.no_delay

Enable or disable tcp no delay setting. Defaults to true.

network.tcp.keep_alive

Enable or disable tcp keep alive. Defaults to true.

network.tcp.reuse_address

Should an address be reused or not. Defaults to true on non-windows machines.

network.tcp.send_buffer_size

The size of the tcp send buffer size (in size setting format). By default not explicitly set.

network.tcp.receive_buffer_size

The size of the tcp receive buffer size (in size setting format). By default not explicitly set.