Elasticsearch:在关闭数据节点之前撤出所有数据?

时间:2014-01-10 22:33:31

标签: elasticsearch

有没有办法告诉节点删除所有数据(在其他节点之间将其分散),以便我可以关闭它,而不是在它关闭后处理重新平衡/重新复制?

如果我有每个分片的2个副本,并且我删除了一个节点,则某些分片现在只有1个实时副本,并且必须重新复制。如果可以的话,我宁愿不要在任何时间内下载到1个实时拷贝。

1 个答案:

答案 0 :(得分:13)

在发布到ES邮件列表后,我被告知正确的答案在于_cluster / settings api,特别是cluster.routing.allocation.exclude._ip选项。

来自文档:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-cluster.html

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

IP地址可以是逗号分隔列表。要“取消排除”,只需从列表中删除IP(或将列表设置为“”以删除所有排除的IP)。

希望这有助于其他人寻找同一问题的答案。