滚动重启时群集是否会拒绝查询?



这是滚动重启的帖子:

https://www.elastic.co/guide/en/elasticsearch/guide/master/_rolling_restarts.html

它是否会影响在此过程中运行的任何查询?该过程不会显式让群集知道节点将被终止,而只会停止同步和重新平衡。现有查询是否被拒绝或重试?

还有另一种选择 "瞬态":{ "cluster.routing.allocation.exclude._ip": } 它可以"禁用"节点以重新启动和重新平衡数据。这个比链接所说的方法更好吗?

这取决于您的群集配置。你可以避免它。

如果您有副本并且不直接查询重新启动节点,您应该没问题。

首先看一下协调节点注意事项

搜索请求或批量索引等请求 请求可能涉及保存在不同数据节点上的数据。搜索 例如,请求分两个阶段执行,这两个阶段是协调的 由接收客户端请求的节点 — 协调节点。

在分散阶段,协调节点将请求转发到 保存数据的数据节点。每个数据节点执行 本地请求并将其结果返回到协调节点。在 聚集阶段,协调节点减少每个数据节点的 结果到单个全局结果集中。

每个节点都是一个协调节点。这意味着节点 将所有三个 node.master、node.data 和 node.ingest 设置为 false 将仅充当协调节点,无法禁用。作为一个 结果,这样的节点需要有足够的内存和 CPU 才能 处理聚集阶段。

可能有不同的边缘情况:

  1. 群集中只有一个节点:请求将失败 -- 添加更多节点
  2. 集群中有多个节点,
  3. 分片有 0 个副本:如果您需要来自查询中重启节点的数据,请求将部分失败 - 有副本
  4. 有多个具有副本的节点,并且您直接查询重新启动节点:请求将失败 - 从应用程序中排除重新启动节点或始终查询专用协调节点,它将处理节点离开集群。

最新更新