Ir para o conteúdo

Por que meu domínio do OpenSearch Service está preso no estado “Modificando”?

6 minuto de leitura
0

Quero solucionar o problema do meu cluster do Amazon OpenSearch Service que está preso no estado “Modificando”.

Resolução

Para solucionar problemas de um domínio que está preso no estado Modificando, execute as seguintes ações de solução de problemas com base no problema encontrado.

Uma verificação de validação falha com erros

Quando você inicia uma alteração de configuração, o OpenSearch Service realiza verificações de validação para garantir que seu domínio esteja qualificado para um upgrade. Se a validação falhar, seu domínio permanece no estado Modificando. Para resolver esse problema, conclua as etapas de solução de problemas do erro recebido. Em seguida, tente realizar novamente a alteração da configuração.

Você iniciou várias alterações de configuração

Não é possível aplicar uma nova alteração de configuração enquanto há uma alteração de configuração em andamento. Para fazer várias atualizações de configuração, inclua todas as alterações em uma única solicitação. Se você enviar alterações simultâneas, receberá a mensagem de erro “A change is already in progress”.

As verificações de validação permanecem válidas durante a alteração da configuração. Se sua configuração passar pelo estágio de Validação, não modifique os recursos que seu domínio exige até que a alteração inicial seja concluída. Por exemplo, não desative a chave do AWS Key Management Service (AWS KMS) que você usa para criptografia.

Não há endereços IP disponíveis nas sub-redes da VPC

Se não houver endereços IP disponíveis o suficiente, libere ou adicione novos endereços IP nos blocos CIDR da sub-rede da nuvem privada virtual (VPC).

A migração de fragmentos para o novo conjunto de nós de dados não é concluída

Verifique o progresso da migração do seu fragmento

Depois que o OpenSearch Service cria os novos recursos, ele começa a migrar fragmentos para os novos nós de dados. Esse processo pode levar de alguns minutos a várias horas com base na carga e no tamanho do cluster.

Para monitorar o status da migração de fragmentos, execute o seguinte comando:

GET /DOMAIN_ENDPOINT/_cat/recovery?active_only=true&v

Observação: substitua DOMAIN_ENDPOINT pelo endpoint do seu domínio. Se você usar o OpenSearch Dashboards para executar o comando anterior, remova /DOMAIN_ENDPOINT/.

Se seu cluster do OpenSearch Service estiver com o status vermelho, a migração do fragmento falhará. Para solucionar esse problema, consulte Por que meu cluster do Amazon OpenSearch Service está com o status vermelho ou amarelo?

Para ver o tamanho dos seus fragmentos, execute o seguinte comando:

GET /_cat/shards?v

Em seguida, execute o comando a seguir para visualizar o número de fragmentos atribuídos a cada nó:

GET /_cat/allocation?v

Se os novos nós não tiverem todos os fragmentos necessários, execute o seguinte comando para identificar a causa:

GET /_cluster/allocation/explain?pretty

Para obter mais informações, consulte a CAT shards API (API fragmentos CAT), CAT allocation API (API alocação CAT) e Cluster allocation explain API (API de explicação sobre alocação de cluster) no site do OpenSearch.

Use as práticas recomendadas do OpenSearch Service

Para acelerar a migração de fragmentos, siga as seguintes práticas recomendadas:

  • Use uma estratégia de fragmentos que se esteja de acordo com as suas necessidades.
  • Planeje o crescimento e o tipo de workload ao escolher o número de fragmentos para seu índice.
  • Certifique-se de que a pressão de memória da CPU e da Java Virtual Machine (JVM) do cluster não esteja muito alta.
  • Certifique-se de que haja espaço de armazenamento livre suficiente no novo conjunto de nós. Para liberar espaço de armazenamento, exclua os índices que você não precisa mais. Para obter instruções, consulte Delete index API (API de exclusão de índice) no site do OpenSearch.
    Observação: problemas com espaço de armazenamento podem ocorrer quando você adiciona novos dados ao cluster durante o processo de implantação azul/verde. Ou eles ocorrem se os nós anteriores tiverem fragmentos grandes que o OpenSearch Service não pode alocar para os novos nós.

Atualize o valor de nova tentativa de alocação

Se seu fragmento exceder o número máximo de novas tentativas e permanecer sem ser atribuído a um nó, tente realizar a alocação novamente. Por padrão, o cluster aloca um fragmento com no máximo 5 novas tentativas em uma linha.

Para aumentar o número de novas tentativas do fragmento, execute o seguinte comando:

PUT INDEX_NAME/_settings  {
    "index.allocation.max_retries" : 10
}

Observação: substitua INDEX_NAME pelo nome do seu índice e 10 pelo número de novas tentativas.

Verifique se há problemas nas configurações do seu índice

Falhas internas de hardware podem fazer com que fragmentos em nós de dados existentes fiquem presos durante a migração. Com base em seu problema de hardware, o OpenSearch Service executa scripts automaticamente para fazer com que os nós retornem a um estado íntegro. Se você fixar fragmentos em um conjunto de nós existente, a migração de fragmentos pode ficar travada.

Para garantir que você não tenha fragmentos fixados em nenhum nó, execute os seguintes comandos para verificar as configurações do índice:

GET /DOMAIN_ENDPOINT/_cluster/allocation/explain?pretty
GET /DOMAIN_ENDPOINT/INDEX_NAME/_settings?pretty

Observação: substitua DOMAIN_ENDPOINT pelo endpoint do seu domínio e INDEX_NAME pelo seu índice. Se você usar o OpenSearch Dashboards para executar o comando anterior, remova /DOMAIN_ENDPOINT/.

Na saída, verifique as seguintes configurações para identificar fragmentos fixados nos nós:

"index.routing.allocation.require._name": "NODE_NAME"
"index.blocks.write": true

Observação: substitua NODE_NAME pelo nome do seu nó.

Se você vir “index.routing.allocation.require._name“: “NODE_NAME” em suas configurações de índice e, em seguida, execute o seguinte comando para redefinir a configuração:

PUT INDEX_NAME/_settings  {
    "index.routing.allocation.require._name": null
}

Observação: substitua DOMAIN_ENDPOINT pelo endpoint do seu domínio e INDEX_NAME pelo seu índice.

Para obter mais informações sobre as configurações de fragmentos em seu índice, consulte Index-level shard allocation (Alocação de fragmentos em nível de índice) no site da Elastic.

Se você vir “index.blocks.write“: true em suas configurações de índice, então seu índice tem um bloco de gravação. Esse problema de bloco de gravação pode ocorrer devido a um erro de ClusterBlockException. Para solucionar esse erro, consulte Como resolvo o erro 403 “index_create_block_exception“ ou “cluster_block_exception“ no OpenSearch Service?

Para monitorar o progresso da sua alteração de configuração, execute a API DescribeDomainChangeProgress. Para clusters que estão presos no estado Modificando ou domínios que estão presos no estado Excluindo recursos antigos por mais de 24 horas, crie um caso do AWS Support.

AWS OFICIALAtualizada há 5 meses