Por que meu domínio do Amazon OpenSearch Service está preso no estado "Em processamento"?

7 minuto de leitura
0

Meu cluster do Amazon OpenSearch Service está preso no estado "Em processamento".

Breve descrição

Seu cluster do OpenSearch Service entra no estado "Em processamento" quando está no meio de uma alteração de configuração . O cluster pode ficar preso no estado "Em processamento" se ocorrer alguma das seguintes situações:

  • Uma verificação de validação falhou com erros.
  • Um novo conjunto de recursos falhou ao ser lançado.
  • A migração de fragmentos para o novo conjunto de nós de dados não foi concluída.
  • O antigo conjunto de recursos não foi encerrado.

Quando você inicia uma alteração na configuração, o estado do domínio muda para "Em processamento" enquanto o OpenSearch Service cria um novo ambiente. No novo ambiente, o OpenSearch Service lança um novo conjunto de nós aplicáveis, como nós de dados, nós primários dedicados ou nós UltraWarm. Depois que a migração é concluída, os nós mais antigos são encerrados.

Você pode ver o progresso da alteração de configuração no console em Status do domínio. Também pode monitorar o progresso de uma alteração na configuração usando a API DescribeDomainChangeProgress. Para obter mais informações, consulte Estágios de uma alteração na configuração.

Resolução

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

Quando você inicia uma alteração de configuração ou realiza um upgrade de versão de domínio do OpenSearch Service, este executa primeiro uma série de verificações de validação. Essas verificações de validação garantem que seu domínio esteja qualificado para um upgrade. Um domínio pode ficar preso no estado "Em processamento" quando as verificações de validação falham com erros. Há vários motivos pelos quais uma verificação de validação pode falhar. Para resolver esse problema, consulte Solucionar erros de validação. Siga as etapas de solução de problemas associadas aos erros de validação e repita a alteração na configuração.

Um novo conjunto de recursos falhou ao ser lançado

Quando você envia alterações de configuração simultâneas ao seu cluster antes que a primeira alteração de configuração seja concluída, seu cluster pode ficar preso. Ao enviar uma nova alteração de configuração, espere até que ela seja concluída antes de enviar outra alteração de configuração.

As verificações de validação do seu domínio no estágio Validação permanecem válidas durante toda a duração da alteração na configuração. Se a sua configuração passar pelo estágio Validação, evite modificar os recursos dos quais seu domínio depende. Por exemplo, não desative a chave do AWS Key Management Service (AWS KMS) usada para criptografia.

Seu domínio também pode ficar preso se encontrar um erro ClusterBlockException. Isso pode acontecer devido à falta de espaço de armazenamento disponível ou à alta pressão da memória JVM. Para obter mais informações e solucionar problemas, consulte ClusterBlockException.
Observação: você pode verificar as métricas FreeStorageSpace, MasterCPUUtilization e MasterJVMMemoryPressure no Amazon CloudWatch.

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

Depois que os novos recursos são criados pelo OpenSearch Service, é iniciada a migração de fragmentos do antigo conjunto de nós de dados para o novo conjunto. Esse estágio pode levar de alguns minutos a várias horas, dependendo da carga e do tamanho do cluster.

Para monitorar a migração atual de fragmentos entre os nós antigos e os novos, execute a seguinte chamada de API:

GET /<DOMAIN_ENDPOINT>/_cat/recovery?active_only=true

A migração do fragmento pode não ter êxito pelos seguintes motivos:

  • Seu cluster do OpenSearch Service está com o status de integridade vermelho. Se o cluster estiver no status de integridade vermelho, solucione o problema de status vermelho do cluster até que ele esteja em um estado íntegro. Para obter mais informações, consulte Por que meu cluster do Amazon OpenSearch Service está com status vermelho ou amarelo?
  • Seu cluster está sobrecarregado e não consegue alocar recursos para lidar com a migração de fragmentos. Um cluster com alta pressão de CPU e JVM pode ficar sobrecarregado. Monitore as métricas JVMMemoryPressure e CPUUtilization do CloudWatch. Para obter mais informações, consulte Visualizar métricas no CloudWatch.
  • Há falta de espaço de armazenamento gratuito no novo conjunto de nós. Esse problema ocorre quando há novos dados entrando no cluster durante o processo de implantação azul/verde. Esse problema também pode ocorrer quando os nós antigos têm fragmentos grandes que não podem ser alocados aos novos nós.

Para ver o tamanho dos seus fragmentos, use a API cat shards no site do Elasticsearch.
Para ver o número de fragmentos atribuídos a cada nó, use a API cat allocation no site do Elasticsearch.
Para descobrir o motivo pelo qual alguns fragmentos não podem ser atribuídos aos novos nós, use a API cluster allocation explain no site do Elasticsearch.
Se você tiver índices antigos dos quais não precisa mais, pode usar a API delete index no site do Elasticsearch para liberar armazenamento.

Se o seu fragmento não puder ser atribuído a um nó porque excedeu o número máximo de novas tentativas, você poderá repetir a alocação. Aumente a configuração do índice "index.allocation.max_retries" associada a esse fragmento usando a seguinte chamada de API:

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

Observação: por padrão, o cluster tenta alocar um fragmento no máximo 5 vezes seguidas.

  • Devido a falhas internas de hardware, os fragmentos dos nós de dados antigos podem ficar presos durante a migração.
    Observação: dependendo do problema de hardware, o OpenSearch Service executa scripts de autorrecuperação para retornar os nós a um estado íntegro.
  • Uma realocação de fragmentos bloqueados causada por fragmentos fixados em um conjunto antigo de nós. Para garantir que os fragmentos não estejam fixados em nenhum nó, verifique as configurações do índice. Ou verifique se o cluster tem um erro ClusterBlockException.

Para identificar os fragmentos que não podem ser alocados aos novos nós e as configurações de índice correspondentes, use os seguintes comandos:

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

Usando a API get index settings no site do Elasticsearch, verifique se alguma destas configurações aparece:

{
    "index.routing.allocation.require._name": "NODE_NAME" (OR)
    "index.blocks.write": true
}

Se você encontrar "index.routing.allocation.require._name": "<NODE_NAME>" nas configurações do índice, redefina essa configuração usando a seguinte chamada de API:

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

Para obter mais informações, consulte Filtragem da alocação de fragmentos em nível de índice, no site do Elasticsearch.

Se você encontrar "index.blocks.write": true nas configurações do índice, significa que o seu índice tem um bloco de gravação. Esse problema de bloco de gravação pode ser causado por um erro ClusterBlockException. Para obter mais informações, consulte Como resolver o erro 403 "index_create_block_exception" ou "cluster_block_exception" no OpenSearch Service?

Práticas recomendadas

Para evitar que seu cluster do OpenSearch Service fique preso no estado "Em processamento", siga estas práticas recomendadas:

  • Certifique-se de que o cluster possa suportar o processo de implantação azul/verde antes de enviar uma alteração de configuração.
  • Envie uma execução simulada das alterações antes de enviar as alterações de configuração.
  • Certifique-se de que seu cluster não esteja sobrecarregado.
  • Evite enviar várias alterações de configuração simultaneamente.
  • Considere enviar uma alteração de configuração em horários de baixo tráfego.
  • Monitore o progresso da sua alteração de configuração.

Observação: entre em contato com o AWS Support se alguma das seguintes situações ocorrer:

  • O cluster ficar preso no estado "Em processamento" por mais de 24 horas.
  • O domínio ficar preso na etapa "Excluindo recursos antigos"'.
AWS OFICIAL
AWS OFICIALAtualizada há 9 meses