远程集群设置
编辑远程集群设置
编辑以下设置适用于 嗅探模式 和 代理模式。特定于嗅探模式和代理模式的设置将单独描述。
-
cluster.remote.<cluster_alias>.mode
- 用于远程集群连接的模式。唯一支持的模式是
sniff
和proxy
。默认值为sniff
。有关这些模式的更多信息,请参阅连接模式;有关其设置的更多信息,请参阅嗅探模式远程集群设置和代理模式远程集群设置。 -
cluster.remote.initial_connect_timeout
- 节点启动时等待建立远程连接的时间。默认值为
30s
。 -
remote_cluster_client
角色 - 默认情况下,集群中的任何节点都可以充当跨集群客户端并连接到远程集群。要阻止节点连接到远程集群,请在
elasticsearch.yml
中指定 node.roles 设置,并从列出的角色中排除remote_cluster_client
。指向远程集群的搜索请求必须发送到允许充当跨集群客户端的节点。其他功能,例如机器学习数据馈送、转换和跨集群复制,需要remote_cluster_client
角色。 -
cluster.remote.<cluster_alias>.skip_unavailable
- 每个集群的布尔值设置,允许在没有属于它们的节点可用并且它们是远程集群请求的目标时跳过特定的集群。
在 Elasticsearch 8.15 中,skip_unavailable
的默认值从 false
更改为 true
。在 Elasticsearch 8.15 之前,如果您希望将集群视为跨集群搜索的可选项,则需要设置该配置。从 Elasticsearch 8.15 开始,您需要设置配置以使集群成为跨集群搜索的必需项。一旦您将本地(“查询”)集群搜索协调器节点(您向其发送 CCS 请求的节点)升级到 8.15 或更高版本,任何没有为 skip_unavailable
显式设置的远程集群都将立即切换到使用新的默认值 true。无论您是否已将远程集群升级到 8.15,情况都是如此,因为 skip_unavailable
搜索行为完全由您配置远程的本地集群上的设置决定。
-
cluster.remote.<cluster_alias>.transport.ping_schedule
- 设置发送定期应用程序级 ping 消息以尝试保持远程集群连接活动的时间间隔。如果设置为
-1
,则不会向此远程集群发送应用程序级 ping 消息。如果未设置,则会根据全局transport.ping_schedule
设置发送应用程序级 ping 消息,该设置默认为-1
,表示不发送 ping 消息。最好正确配置 TCP keep-alives 而不是配置ping_schedule
,因为 TCP keep-alives 由操作系统处理,而不是由 Elasticsearch 处理。默认情况下,Elasticsearch 会在远程集群连接上启用 TCP keep-alives。远程集群连接是传输连接,因此有关 TCP keep-alives 的transport.tcp.*
高级设置适用于它们。 -
cluster.remote.<cluster_alias>.transport.compress
- 每个集群的设置,使您能够为特定远程集群的请求配置压缩。处理集群将自动压缩对压缩请求的响应。设置选项为
true
、indexing_data
和false
。如果未设置,则默认为由节点范围的transport.compress
设置指定的行为。有关更多信息,请参阅transport.compress
设置的文档。 -
cluster.remote.<cluster_alias>.transport.compression_scheme
- 每个集群的设置,使您能够为特定集群的请求配置压缩方案,如果这些请求被
cluster.remote.<cluster_alias>.transport.compress
设置选择进行压缩。处理集群将自动对响应使用与相应请求相同的压缩方案。设置选项为deflate
和lz4
。如果未设置,则默认为由节点范围的transport.compression_scheme
设置指定的行为。有关更多信息,请参阅transport.compression_scheme
设置的文档。
-
cluster.remote.<cluster_alias>.credentials
- (安全,可重新加载)每个集群的设置,用于配置使用基于 API 密钥模型的远程集群。此设置采用跨集群 API 密钥的编码值,并且必须在集群中每个节点的Elasticsearch 密钥库中设置。此设置的存在与否决定了远程集群使用的模型。如果存在,则远程集群使用基于 API 密钥的模型。否则,它将使用基于证书的模型。如果在Elasticsearch 密钥库中添加、删除或更新了该设置,并通过节点重新加载安全设置 API 重新加载,则集群将自动重建与远程的连接。
嗅探模式远程集群设置
编辑要使用 嗅探模式 连接到远程集群,请设置 cluster.remote.<cluster_alias>.mode: sniff
,然后配置以下设置。您也可以不设置 cluster.remote.<cluster_alias>.mode
,因为 sniff
是默认模式。
-
cluster.remote.<cluster_alias>.seeds
- 用于嗅探远程集群状态的种子节点列表。
-
cluster.remote.<cluster_alias>.node_connections
- 要连接到此远程集群的网关节点数。默认值为
3
。
代理模式远程集群设置
编辑要使用 代理模式 连接到远程集群,请设置 cluster.remote.<cluster_alias>.mode: proxy
,然后配置以下设置。
-
cluster.remote.<cluster_alias>.proxy_address
- 用于所有远程连接的地址。
-
cluster.remote.<cluster_alias>.proxy_socket_connections
- 每个远程集群要打开的套接字连接数。默认值为
18
。
-
cluster.remote.<cluster_alias>.server_name
- 如果启用 TLS,则在 TLS 服务器名称指示扩展的
server_name
字段中发送的可选主机名字符串。如果此字段不是 TLS SNI 规范定义的有效主机名,则 TLS 传输将无法打开远程连接。