发现和集群形成设置编辑

发现和集群形成 受以下设置影响

discovery.seed_hosts

(静态) 提供集群中主节点候选节点的地址列表。也可以是包含以逗号分隔的地址的单个字符串。每个地址的格式为 host:porthosthost 可以是通过 DNS 解析的主机名、IPv4 地址或 IPv6 地址。IPv6 地址必须用方括号括起来。如果主机名通过 DNS 解析到多个地址,Elasticsearch 将使用所有地址。DNS 查找受 JVM DNS 缓存 影响。如果未给出 port,则将通过按以下顺序检查设置来确定

  1. transport.profiles.default.port
  2. transport.port

如果这两个设置都没有设置,则默认端口为 9300discovery.seed_hosts 的默认值为 ["127.0.0.1", "[::1]"]。请参阅 discovery.seed_hosts.

discovery.seed_providers
(静态) 指定要使用哪种类型的 种子主机提供者 来获取用于启动发现过程的种子节点的地址。默认情况下,它是 基于设置的种子主机提供者,它从 discovery.seed_hosts 设置中获取种子节点地址。
discovery.type
(静态) 指定 Elasticsearch 是否应该形成多节点集群。默认为 multi-node,这意味着 Elasticsearch 在形成集群时会发现其他节点,并允许其他节点稍后加入集群。如果设置为 single-node,Elasticsearch 将形成单节点集群并抑制由 cluster.publish.timeout 设置的超时。有关何时可能使用此设置的更多信息,请参阅 单节点发现.
cluster.initial_master_nodes
(静态) 设置全新集群中主节点候选节点的初始集合。默认情况下,此列表为空,这意味着此节点预计将加入已启动的集群。集群形成后,请删除此设置。在重新启动节点或将新节点添加到现有集群时,请勿使用此设置。请参阅 cluster.initial_master_nodes.

专家设置编辑

发现和集群形成也受以下专家级设置影响,尽管不建议更改这些设置的任何默认值。

如果您调整这些设置,则您的集群可能无法正确形成,或者可能变得不稳定或无法容忍某些故障。

discovery.cluster_formation_warning_timeout
(静态) 设置节点在记录集群未形成的警告之前尝试形成集群的时间。默认为 10s。如果集群在 discovery.cluster_formation_warning_timeout 过期后仍未形成,则节点将记录一条以短语 master not discovered 开头的警告消息,该消息描述了发现过程的当前状态。
discovery.find_peers_interval
(静态) 设置节点在尝试另一轮发现之前等待的时间。默认为 1s
discovery.probe.connect_timeout
(静态) 设置尝试连接到每个地址时等待的时间。默认为 30s
discovery.probe.handshake_timeout
(静态) 设置尝试通过握手识别远程节点时等待的时间。默认为 30s
discovery.request_peers_timeout
(静态) 设置节点在再次询问其对等节点后等待的时间,然后再认为请求已失败。默认为 3s
discovery.find_peers_warning_timeout
(静态) 设置节点在开始记录详细消息以描述连接尝试失败的原因之前尝试发现其对等节点的时间。默认为 3m
discovery.seed_resolver.max_concurrent_resolvers
(静态) 指定在解析种子节点的地址时要执行的并发 DNS 查找数量。默认为 10
discovery.seed_resolver.timeout
(静态) 指定在解析种子节点的地址时执行的每个 DNS 查找等待的时间。默认为 5s
cluster.auto_shrink_voting_configuration
(动态) 控制 投票配置 是否会自动删除已离开的节点,只要它仍然包含至少 3 个节点。默认值为 true。如果设置为 false,则投票配置永远不会自动缩减,您必须使用 投票配置排除 API 手动删除已离开的节点。
cluster.election.back_off_time
(静态) 设置每次选举失败后在选举之前等待时间的上限增加的量。请注意,这是线性回退。这默认为 100ms。将此设置从默认值更改可能会导致您的集群无法选举主节点。
cluster.election.duration
(静态) 设置每个选举允许花费的时间,在此时间之后,节点会认为选举已失败并安排重试。这默认为 500ms。将此设置从默认值更改可能会导致您的集群无法选举主节点。
cluster.election.initial_timeout
(静态) 设置节点在尝试首次选举之前最初或在选出的主节点失败后等待时间的上限。这默认为 100ms。将此设置从默认值更改可能会导致您的集群无法选举主节点。
cluster.election.max_timeout
(静态) 设置节点在尝试首次选举之前等待时间的上限,以便持续时间很长的网络分区不会导致选举过于稀疏。这默认为 10s。将此设置从默认值更改可能会导致您的集群无法选举主节点。
cluster.fault_detection.follower_check.interval
(静态) 设置选出的主节点在对集群中每个其他节点进行跟随者检查之间等待的时间。默认为 1s。将此设置从默认值更改可能会导致您的集群变得不稳定。
cluster.fault_detection.follower_check.timeout
(静态) 设置选出的主节点在认为跟随者检查已失败之前等待响应的时间。默认为 10s。将此设置从默认值更改可能会导致您的集群变得不稳定。
cluster.fault_detection.follower_check.retry_count
(静态) 设置必须连续发生多少次跟随者检查失败才能使选出的主节点认为该节点有故障并将其从集群中删除。默认为 3。将此设置从默认值更改可能会导致您的集群变得不稳定。
cluster.fault_detection.leader_check.interval
(静态) 设置每个节点在检查选出的主节点之间等待的时间。默认为 1s。将此设置从默认值更改可能会导致您的集群变得不稳定。
cluster.fault_detection.leader_check.timeout
(静态) 设置每个节点在认为选出的主节点已失败之前等待选出的主节点响应领导者检查的时间。默认为 10s。将此设置从默认值更改可能会导致您的集群变得不稳定。
cluster.fault_detection.leader_check.retry_count
(静态) 设置必须连续发生多少次领导者检查失败才能使节点认为选出的主节点有故障并尝试查找或选举新的主节点。默认为 3。将此设置从默认值更改可能会导致您的集群变得不稳定。
cluster.follower_lag.timeout
(静态) 设置主节点等待从滞后节点接收集群状态更新确认的时间。默认值为 90s。如果节点在该时间段内未成功应用集群状态更新,则认为该节点已失败并将其从集群中删除。请参阅 发布集群状态.
cluster.max_voting_config_exclusions
(动态) 设置一次允许的投票配置排除数量的限制。默认值为 10。请参阅 在集群中添加和删除节点.
cluster.publish.info_timeout
(静态) 设置主节点等待每个集群状态更新完全发布到所有节点的时间,然后再记录一条消息,指示某些节点响应缓慢。默认值为 10s
cluster.publish.timeout
(静态) 设置主节点等待每个集群状态更新完全发布到所有节点的时间,除非 discovery.type 设置为 single-node。默认值为 30s。请参阅 发布集群状态.
cluster.discovery_configuration_check.interval
(静态) 设置一些检查的间隔,这些检查将记录有关不正确发现配置的警告。默认值为 30s
cluster.join_validation.cache_timeout
(静态) 当节点请求加入集群时,选出的主节点会向其发送最近集群状态的副本,以检测可能阻止新节点加入集群的某些问题。主节点会缓存它发送的状态,并在另一个节点在不久后加入集群时使用缓存的状态。此设置控制主节点在清除此缓存之前等待多长时间。默认为 60s
cluster.no_master_block

(动态) 指定在集群中没有活动主节点时拒绝哪些操作。此设置有三个有效值

all
拒绝节点上的所有操作(读写操作)。这也适用于 API 集群状态读写操作,例如获取索引设置、更新映射和集群状态 API。
write
(默认) 拒绝写入操作。读取操作成功,基于最后一个已知的集群配置。这种情况可能导致部分读取陈旧数据,因为此节点可能与集群的其余部分隔离。
metadata_write
仅拒绝元数据写入操作(例如映射更新、路由表更改),但常规索引操作继续工作。读取和写入操作成功,基于最后一个已知的集群配置。这种情况可能导致部分读取陈旧数据,因为此节点可能与集群的其余部分隔离。
  • cluster.no_master_block 设置不适用于基于节点的 API(例如集群统计信息、节点信息和节点统计信息 API)。对这些 API 的请求不会被阻止,可以在任何可用的节点上运行。
  • 为了使集群完全正常运行,它必须有一个活动的主节点。
monitor.fs.health.enabled
(动态) 如果为 true,则节点会定期运行 文件系统健康检查。默认为 true
monitor.fs.health.refresh_interval
(静态) 连续 文件系统健康检查 之间的间隔。默认为 2m
monitor.fs.health.slow_path_logging_threshold
(动态) 如果 文件系统健康检查 所用时间超过此阈值,则 Elasticsearch 会记录警告。默认为 5s