远程集群设置

编辑

以下设置适用于 嗅探模式代理模式。特定于嗅探模式和代理模式的设置将单独描述。

cluster.remote.<cluster_alias>.mode
用于远程集群连接的模式。唯一支持的模式是 sniffproxy。默认值为 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
每个集群的设置,使您能够为特定远程集群的请求配置压缩。处理集群将自动压缩对压缩请求的响应。设置选项为 trueindexing_datafalse。如果未设置,则默认为由节点范围的 transport.compress 设置指定的行为。有关更多信息,请参阅transport.compress 设置的文档
cluster.remote.<cluster_alias>.transport.compression_scheme
每个集群的设置,使您能够为特定集群的请求配置压缩方案,如果这些请求被 cluster.remote.<cluster_alias>.transport.compress 设置选择进行压缩。处理集群将自动对响应使用与相应请求相同的压缩方案。设置选项为 deflatelz4。如果未设置,则默认为由节点范围的 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.node.attr
一个节点属性,用于筛选出有资格作为远程集群中网关节点的节点。例如,一个节点可以具有节点属性 node.attr.gateway: true,以便仅当 cluster.remote.node.attr 设置为 gateway 时,才会连接到具有此属性的节点。

代理模式远程集群设置

编辑

要使用 代理模式 连接到远程集群,请设置 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 传输将无法打开远程连接。