O estado do cluster do Elasticsearch fica imediatamente em amarelo após o primeiro índice criado

1

Eu executo vários servidores Logstash independentes para permitir a revisão de arquivos de log de servidores de aplicativos da Web.

Um deles relatou recentemente um estado de cluster Amarelo devido a fragmentos não atribuídos. Esta é uma ocorrência bastante comum, a qual eu geralmente lida excluindo o índice mais recente e reiniciando o Elasticsearch.

Neste caso, não funcionou. Quando eu apago os índices (através da API ou simplesmente excluindo os arquivos do sistema de arquivos) e reinicio o Elasticsearch, o estado do cluster é inicialmente verde, mas assim que o primeiro índice é criado, ele fica amarelo com precisamente 5 shards não atribuídos .

Este servidor estava funcionando bem por várias semanas e não é carregado de maneira alguma. Eu também verifiquei que não há outros servidores Elasticsearch no CIDR (de qualquer forma, em um VPC no Amazon AWS).

Liguei a depuração nos logs, mas é duplo para mim. Não há referências a que os fragmentos não possam ser atribuídos.

    
por Garreth McDaid 01.08.2014 / 17:23

1 resposta

1

A solução mais fácil para isso é configurar o elasticsearch para que ele não use nenhuma réplica:

index.number_of_replicas: 0

Se o elasticsearch não estiver tentando distribuir shards para outros nós, ele não terá shards não atribuídos.

Não sei por que a configuração padrão do elasticsearch é ter

index.number_of_replicas: 1

As pessoas que estão enganando pela primeira vez o executarão em um único servidor e passarão dias tentando descobrir por que a saúde fica amarela devido a fragmentos não atribuídos.

    
por 29.08.2014 / 19:33