Todos os produtos
Search
Central de documentação

Elasticsearch:Distribuição desigual de dados quentes nos nós

Última atualização: Jun 27, 2026

Quando alguns nós processam um volume de dados quentes significativamente maior que os demais, eles operam sob alta carga enquanto o restante do cluster permanece ocioso. Este tópico explica como diagnosticar esse desequilíbrio e corrigi-lo migrando shards manualmente.

Sintomas

Você provavelmente enfrenta esse problema se observar algum dos seguintes sinais:

  • Um nó com alta carga concentra um número desproporcional de shards com o mesmo atributo (por exemplo, apenas shards primários)

  • Um nó com alta carga armazena mais shards de índices de negócio que os outros nós

Antes de começar

A migração manual de shards é uma solução temporária. Se nós saírem do cluster brevemente e a realocação automática de shards for executada, o desequilíbrio pode retornar. Antes de migrar shards, resolva a causa raiz seguindo as orientações em Cargas desequilibradas em um cluster.

Se os shards já estiverem distribuídos uniformemente, mas o cluster ainda apresentar alta carga, atualize a configuração do cluster.

Migrar shards manualmente

Etapa 1: Desativar a alocação de shards

Execute o comando a seguir para desativar temporariamente a alocação de shards. Isso impede que o Elasticsearch mova shards automaticamente durante a migração manual.

PUT /_cluster/settings
{
  "transient" : {
     "cluster.routing.allocation.enable" : "none"
  }
}
Importante

Reative a alocação de shards após concluir a migração (etapa 4). Manter a alocação de shards desativada pode comprometer a recuperação e a resiliência do cluster.

Etapa 2: Migrar o shard

Use a API de reroute do cluster para mover um shard específico de um nó para outro. O exemplo a seguir move o Shard 3 do índice index_parkingorder_v1 de 192.168.130.77 para 192.168.130.78.

POST /_cluster/reroute
{
 "commands" : [
  {
   "move" : {
    "index" : "index_parkingorder_v1",
    "shard" : 3,
    "from_node" : "192.168.130.77",
    "to_node" : "192.168.130.78"
   }
  }
 ]
}

Restrição: O nó de destino não deve conter previamente um shard do mesmo índice com o mesmo número de sequência. Por exemplo, se o Shard Réplica 3 de um índice estiver no Nó A, o Shard Primário 3 desse índice não poderá ser migrado para o Nó A.

Para consultar a referência completa da API de reroute, visualize cluster-reroute.

Etapa 3: Verificar a migração

Execute o comando a seguir para verificar a alocação atual de shards:

GET _cat/shards?v

A saída lista cada shard com seu estado e o nó ao qual está atribuído. Localize o shard migrado na saída e confirme que:

  • Ele aparece no nó de destino

  • Seu estado é STARTED

Visualize o status da migração de shards

Etapa 4: Reativar a alocação de shards

Após confirmar a migração, reative a alocação de shards:

PUT /_cluster/settings
{
 "transient" : {
  "cluster.routing.allocation.enable" : "all"
 }
}

Próximos passos