Ao tentar postar documentos no Elasticsearch normalmente, recebo este erro:
cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)];
Também vejo esta mensagem nos logs do Elasticsearch:
flood stage disk watermark [95%] exceeded ... all indices on this node will marked read-only
elasticsearch
Sean Hammond
fonte
fonte
Respostas:
Isso acontece quando o Elasticsearch pensa que o disco está ficando sem espaço, então ele se coloca no modo somente leitura.
Por padrão, a decisão do Elasticsearch é baseada na porcentagem de espaço livre em disco, portanto, em discos grandes, isso pode acontecer mesmo se você tiver muitos gigabytes de espaço livre.
A marca d'água do estágio de inundação é de 95% por padrão, então em uma unidade de 1 TB você precisa de pelo menos 50 GB de espaço livre ou o Elasticsearch se colocará no modo somente leitura.
Para documentos sobre a marca d'água do estágio de inundação, consulte https://www.elastic.co/guide/en/elasticsearch/reference/6.2/disk-allocator.html .
A solução certa depende do contexto - por exemplo, um ambiente de produção versus um ambiente de desenvolvimento.
Solução 1: libere espaço em disco
Liberar espaço em disco suficiente para que mais de 5% do disco fique livre resolverá esse problema. O Elasticsearch não sairá automaticamente do modo somente leitura quando houver disco suficiente livre, porém, você terá que fazer algo assim para desbloquear os índices:
Solução 2: alterar a configuração da marca d'água do estágio de inundação
Altere a
"cluster.routing.allocation.disk.watermark.flood_stage"
configuração para outra coisa. Ele pode ser definido para uma porcentagem inferior ou para um valor absoluto. Aqui está um exemplo de como alterar a configuração dos documentos :Novamente, depois de fazer isso, você terá que usar o comando curl acima para desbloquear os índices, mas depois disso eles não devem entrar no modo somente leitura novamente.
fonte
Por padrão, o Elasticsearch instalado entra no modo somente leitura quando você tem menos de 5% de espaço livre em disco. Se você vir erros semelhantes a este:
Ou em /usr/local/var/log/elasticsearch.log, você pode ver registros semelhantes a:
Em seguida, você pode corrigi-lo executando os seguintes comandos:
fonte
DE
https://techoverflow.net/2019/04/17/how-to-fix-elasticsearch-forbidden-12-index-read-only-allow-delete-api/
fonte
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [null] and no indices exist"
com o seu comando, alguma ideia?_all
. Tive que aplicá-lo a cada índice manualmente._all
pelo nome do índice e repetir a solicitação para cada índice.