如何正常关机(零副本)?

如何正常关机(零副本)?

我目前正在运行一个三节点(elasticsearch)集群index.number_of_replicas: 0。我想关闭其中一个节点进行维护。我有什么办法可以在不增加的情况下做到这一点吗number_of_replicas

关闭 API 似乎无法在关闭节点之前重新平衡分片。因此,我似乎需要使用集群重新路由 API 手动将分片移动到另一个节点。这样做会将其他分片重新平衡回我的节点,所以我想我需要以某种方式重新平衡集群。有没有比这更好的选择?

答案1

你可以通过告诉集群将某个节点排除在分配之外来停用该节点。(来自文档 这里

curl -XPUT localhost:9200/_cluster/settings -d '{
  "transient" :{
      "cluster.routing.allocation.exclude._ip" : "10.0.0.1"
   }
}';echo

这将导致 Elasticsearch 将该节点上的分片分配给剩余节点,而集群的状态不会变为黄色或红色(即使您的副本数为 0)。

一旦所有分片都重新分配完毕,您就可以关闭节点并在那里执行任何需要执行的操作。完成后,包括分配的节点,Elasticsearch 将再次重新平衡分片。

答案复制自https://stackoverflow.com/a/23905040/260805

相关内容