Como faço um desligamento normal (com réplicas zero)?

1

Estou executando um cluster de três nós (elasticsearch) atualmente com index.number_of_replicas: 0 . Eu gostaria de trazer um dos nós para manutenção. Tenho alguma opção para fazer isso sem aumentar number_of_replicas ?

A API de desligamento parece não reequilibrar os fragmentos antes do desligamento do nó. Portanto, parece que preciso usar a API de novo roteamento de cluster para mover manualmente os shards para outro nó. Fazer isso gostaria de reequilibrar outros fragmentos de volta ao meu nó, então acho que precisaria de alguma forma reequilibrar o cluster. Existe alguma opção melhor que isso?

    
por Ztyx 29.07.2014 / 15:28

1 resposta

3

You can decommission a node by telling the cluster to exclude it from allocation. (From the documentation here)

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

This will cause Elasticsearch to allocate the shards on that node to the remaining nodes, without the state of the cluster changing to yellow or red (even if you have replication 0).

Once all the shards have been reallocated you can shutdown the node and do whatever you need to do there. Once you're done, include the node for allocation and Elasticsearch will rebalance the shards again.

Responder copiado de link

    
por 29.07.2014 / 15:33