OpenSearch/docs/reference/modules/network.asciidoc

103 lines
3.9 KiB
Plaintext
Raw Normal View History

[[modules-network]]
== Basic Settings
Commonly used network settings:
[cols="<,<",options="header",]
|=======================================================================
|Name |Description
2015-12-09 14:27:49 -05:00
|`network.host` |Host to bind and publish to other nodes. Accepts an IP address, hostname, or special value (see table below). Defaults to `_local_`.
2015-12-09 14:27:49 -05:00
|`discovery.zen.ping.unicast.hosts`|Initial list of other nodes. Accepts IP addresses or hostnames. Defaults to `["127.0.0.1", "[::1]"]`.
2015-12-09 14:27:49 -05:00
|`http.port` |Port to bind for incoming http requests. Accepts a single value or a range. Defaults to `9200-9300`.
2015-12-09 14:27:49 -05:00
|`transport.tcp.port` |Port to bind for communication between nodes. Accepts a single value or a range. Defaults to `9300-9400`.
2015-12-09 14:04:44 -05:00
|=======================================================================
Be careful with network configuration! Never expose an unprotected instance
to the public internet.
2015-12-09 14:10:21 -05:00
[float]
[[special-values]]
=== Special values for `network.host`
[cols="<,<",options="header",]
|=======================================================================
|Special Host Value |Description
2015-12-09 14:27:49 -05:00
|`_[networkInterface]_` |Addresses of a network interface, for example `_en0_`.
2015-12-09 14:27:49 -05:00
|`_local_` |Any loopback addresses on the system, for example `127.0.0.1`.
Fix network binding for ipv4/ipv6 When elasticsearch is configured by interface (or default: loopback interfaces), bind to all addresses on the interface rather than an arbitrary one. If the publish address is not specified, default it from the bound addresses based on the following sort ordering: * ipv4/ipv6 (java.net.preferIPv4Stack, defaults to true) * ordinary addresses * site-local addresses * link local addresses * loopback addresses One one address is published, and multicast is still always over ipv4: these need to be future improvements. Closes #12906 Closes #12915 Squashed commit of the following: commit 7e60833312f329a5749f9a256b9c1331a956d98f Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 14:45:33 2015 -0400 fix java 7 compilation oops commit c7b9f3a42058beb061b05c6dd67fd91477fd258a Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 14:24:16 2015 -0400 Cleanup/fix logic around custom resolvers commit bd7065f1936e14a29c9eb8fe4ecab0ce512ac08e Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 13:29:42 2015 -0400 Add some unit tests for utility methods commit 0faf71cb0ee9a45462d58af3d1bf214e8a79347c Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 12:11:48 2015 -0400 localhost all the way down commit e198bb2bc0d1673288b96e07e6e6ad842179978c Merge: b55d092 b93a75f Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 12:05:02 2015 -0400 Merge branch 'master' into network_cleanup commit b55d092811d7832bae579c5586e171e9cc1ebe9d Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 12:03:03 2015 -0400 fix docs, fix another bug in multicast (publish host = bad here!) commit 88c462eb302b30a82585f95413927a5cbb7d54c4 Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 11:50:49 2015 -0400 remove nocommit commit 89547d7b10d68b23d7f24362e1f4782f5e1ca03c Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 11:49:35 2015 -0400 fix http too commit 9b9413aca8a3f6397b5031831f910791b685e5be Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 11:06:02 2015 -0400 Fix transport / interface code Next up: multicast and then http
2015-08-17 15:37:07 -04:00
2015-12-09 14:27:49 -05:00
|`_site_` |Any site-local addresses on the system, for example `192.168.0.1`.
Fix network binding for ipv4/ipv6 When elasticsearch is configured by interface (or default: loopback interfaces), bind to all addresses on the interface rather than an arbitrary one. If the publish address is not specified, default it from the bound addresses based on the following sort ordering: * ipv4/ipv6 (java.net.preferIPv4Stack, defaults to true) * ordinary addresses * site-local addresses * link local addresses * loopback addresses One one address is published, and multicast is still always over ipv4: these need to be future improvements. Closes #12906 Closes #12915 Squashed commit of the following: commit 7e60833312f329a5749f9a256b9c1331a956d98f Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 14:45:33 2015 -0400 fix java 7 compilation oops commit c7b9f3a42058beb061b05c6dd67fd91477fd258a Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 14:24:16 2015 -0400 Cleanup/fix logic around custom resolvers commit bd7065f1936e14a29c9eb8fe4ecab0ce512ac08e Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 13:29:42 2015 -0400 Add some unit tests for utility methods commit 0faf71cb0ee9a45462d58af3d1bf214e8a79347c Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 12:11:48 2015 -0400 localhost all the way down commit e198bb2bc0d1673288b96e07e6e6ad842179978c Merge: b55d092 b93a75f Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 12:05:02 2015 -0400 Merge branch 'master' into network_cleanup commit b55d092811d7832bae579c5586e171e9cc1ebe9d Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 12:03:03 2015 -0400 fix docs, fix another bug in multicast (publish host = bad here!) commit 88c462eb302b30a82585f95413927a5cbb7d54c4 Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 11:50:49 2015 -0400 remove nocommit commit 89547d7b10d68b23d7f24362e1f4782f5e1ca03c Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 11:49:35 2015 -0400 fix http too commit 9b9413aca8a3f6397b5031831f910791b685e5be Author: Robert Muir <rmuir@apache.org> Date: Mon Aug 17 11:06:02 2015 -0400 Fix transport / interface code Next up: multicast and then http
2015-08-17 15:37:07 -04:00
2015-12-09 14:27:49 -05:00
|`_global_` |Any globally-scoped addresses on the system, for example `8.8.8.8`.
2015-12-09 14:04:44 -05:00
|=======================================================================
These special values will work over both IPv4 and IPv6 by default,
2015-12-09 14:27:49 -05:00
but you can also limit this with the use of `:ipv4` of `:ipv6` specifiers. For
2015-12-09 14:30:17 -05:00
example, `_en0:ipv4_` would only bind to the IPv4 addresses of interface `en0`.
When the `discovery-ec2` plugin is installed, you can use
{plugins}/discovery-ec2-discovery.html#discovery-ec2-network-host[ec2 specific host settings].
When the `discovery-gce` plugin is installed, you can use
{plugins}/discovery-gce-network-host.html[gce specific host settings].
[float]
[[advanced]]
=== Advanced network settings
`network.bind_host` and `network.publish_host` can be set instead of `network.host`
for advanced cases such as when behind a proxy server.
2015-12-09 14:27:49 -05:00
`network.bind_host` sets the host different network
components will bind on.
2015-12-09 14:27:49 -05:00
`network.publish_host` sets 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`, sorted by IPv4/IPv6 stack preference, then by reachability.
2015-12-09 14:27:49 -05:00
Both settings can be configured just like `network.host`: they accept ip
addresses, host names, and special values.
[float]
[[tcp-settings]]
=== Advanced TCP Settings
Any component that uses TCP (like the HTTP, Transport and Memcached)
share the following allowed settings:
[cols="<,<",options="header",]
|=======================================================================
|Setting |Description
|`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.
2014-05-22 03:15:38 -04:00
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.
|=======================================================================
[float]
[[module-settings]]
=== Module-specific Settings
There are several modules within a Node that use network based
configuration, for example, the
<<modules-transport,transport>> and
<<modules-http,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).