elasticsearch/docs/reference/modules/cluster/remote-clusters-settings.asciidoc
Yang Wang ebe4fe9f15
[Doc] Add links to the new API key based remote cluster page (#99115)
This PR adds links to the new API key based remote cluster page in
multiple places.

Relates: #98330
2023-09-01 06:08:49 -04:00

118 lines
5.2 KiB
Text

[[remote-clusters-settings]]
=== Remote cluster settings
The following settings apply to both <<sniff-mode,sniff mode>> and
<<proxy-mode,proxy mode>>. Settings that are specific to sniff mode and proxy
mode are described separately.
`cluster.remote.<cluster_alias>.mode`::
The mode used for a remote cluster connection. The only supported modes are
`sniff` and `proxy`.
`cluster.remote.initial_connect_timeout`::
The time to wait for remote connections to be established when the node
starts. The default is `30s`.
`remote_cluster_client` <<node-roles,role>>::
By default, any node in the cluster can act as a cross-cluster client and
connect to remote clusters. To prevent a node from connecting to remote
clusters, specify the <<node-roles,node.roles>> setting in `elasticsearch.yml`
and exclude `remote_cluster_client` from the listed roles. Search requests
targeting remote clusters must be sent to a node that is allowed to act as a
cross-cluster client. Other features such as {ml} <<general-ml-settings,data
feeds>>, <<general-transform-settings,transforms>>, and
<<ccr-getting-started-tutorial,{ccr}>> require the `remote_cluster_client` role.
`cluster.remote.<cluster_alias>.skip_unavailable`::
Per cluster boolean setting that allows to skip specific clusters when no
nodes belonging to them are available and they are the target of a remote
cluster request. Default is `false`, meaning that all clusters are mandatory
by default, but they can selectively be made optional by setting this setting
to `true`.
`cluster.remote.<cluster_alias>.transport.ping_schedule`::
Sets the time interval between regular application-level ping messages that
are sent to try and keep remote cluster connections alive. If set to `-1`,
application-level ping messages to this remote cluster are not sent. If
unset, application-level ping messages are sent according to the global
`transport.ping_schedule` setting, which defaults to `-1` meaning that pings
are not sent. It is preferable to correctly configure TCP keep-alives instead
of configuring a `ping_schedule`, because TCP keep-alives are handled by the
operating system and not by {es}. By default {es} enables TCP keep-alives on
remote cluster connections. Remote cluster connections are transport
connections so the `transport.tcp.*` <<transport-settings,advanced settings>>
regarding TCP keep-alives apply to them.
`cluster.remote.<cluster_alias>.transport.compress`::
Per cluster setting that enables you to configure compression for requests
to a specific remote cluster. This setting impacts only requests
sent to the remote cluster. If the inbound request is compressed,
Elasticsearch compresses the response. The setting options are `true`,
`indexing_data`, and `false`. If unset, the global `transport.compress` is
used as the fallback setting.
`cluster.remote.<cluster_alias>.transport.compression_scheme`::
Per cluster setting that enables you to configure compression scheme for
requests to a specific remote cluster. This setting impacts only requests
sent to the remote cluster. If an inbound request is compressed, {es}
compresses the response using the same compression scheme. The setting options
are `deflate` and `lz4`. If unset, the global `transport.compression_scheme`
is used as the fallback setting.
`cluster.remote.<cluster_alias>.credentials` (<<secure-settings,Secure>>)::
beta:[]
Per cluster setting for configuring <<remote-clusters-api-key,remote clusters with the API Key based model>>.
This setting takes the encoded value of a
<<security-api-create-cross-cluster-api-key,cross-cluster API key>> and must be set
in the <<secure-settings,{es} keystore>> on each node in the cluster.
The presence (or not) of this setting determines which model a remote cluster uses.
If present, the remote cluster uses the API key based model.
Otherwise, it uses the certificate based model.
[[remote-cluster-sniff-settings]]
==== Sniff mode remote cluster settings
`cluster.remote.<cluster_alias>.seeds`::
The list of seed nodes used to sniff the remote cluster state.
`cluster.remote.<cluster_alias>.node_connections`::
The number of gateway nodes to connect to for this remote cluster. The default
is `3`.
[[cluster-remote-node-attr]]
`cluster.remote.node.attr`::
A node attribute to filter out nodes that are eligible as a gateway node in
the remote cluster. For instance a node can have a node attribute
`node.attr.gateway: true` such that only nodes with this attribute will be
connected to if `cluster.remote.node.attr` is set to `gateway`.
[[remote-cluster-proxy-settings]]
==== Proxy mode remote cluster settings
`cluster.remote.<cluster_alias>.proxy_address`::
The address used for all remote connections.
`cluster.remote.<cluster_alias>.proxy_socket_connections`::
The number of socket connections to open per remote cluster. The default is
`18`.
[role="xpack"]
`cluster.remote.<cluster_alias>.server_name`::
An optional hostname string which is sent in the `server_name` field of
the TLS Server Name Indication extension if
<<encrypt-internode-communication,TLS is enabled>>. The TLS transport will fail to open
remote connections if this field is not a valid hostname as defined by the
TLS SNI specification.