Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Por que meu cluster do Amazon OpenSearch Service está no status vermelho ou amarelo?
Meu cluster do Amazon OpenSearch Service está em um status vermelho ou amarelo.
Breve descrição
A guia Monitoramento no console do OpenSearch Service indica o status do índice menos íntegro em seu cluster. Um status vermelho aparece quando o OpenSearch Service não alocou um ou mais fragmentos primários e suas réplicas. O status amarelo ocorre quando o OpenSearch Service alocou todos os fragmentos primários, mas não alocou um ou mais fragmentos de réplica.
Importante: um status vermelho do cluster indica indisponibilidade parcial dos dados. Embora um status amarelo não indique perda de dados, o status amarelo significa que seu cluster não tem redundância total. Se um nó falhar, é possível sofrer perda de dados.
Resolução
Importante: para reconfigurar um domínio, primeiro você deve resolver o status vermelho do cluster. Se você tentar reconfigurar um domínio que está no status vermelho, ele pode ficar preso no estado “Modificando”.
Identifique a causa dod seus fragmentos não atribuídos
Para identificar e solucionar a causa raiz dos fragmentos não atribuídos, use o runbook AWSSupport-TroubleshootOpenSearchRedYellowCluster. Para obter instruções, consulte Instruções em AWSSupport-TroubleshootOpenSearchRedYellowCluster.
Ou, para identificar manualmente os fragmentos não atribuídos, execute o seguinte comando:
curl -XGET 'domain-endpoint/_cat/shards?h=index,shard,prirep,state,unassigned.reason' | grep UNASSIGNED
Observação: substitua domais-endpoint pelo endpoint do seu domínio. Na saída, anote o ID do fragmento.
Em seguida, execute o comando a seguir para obter detalhes do motivo pelo qual o fragmento não está atribuído:
curl -XGET 'domain-endpoint/_cluster/allocation/explain?pretty' -H 'Content-Type:application/json' -d'{ "index": "index-name", "shard": shardID, "primary": false }'
Observação: substitua domain-endpoint pelo endpoint do seu domínio, index-name pelo nome do seu índice e shardID pelo ID do fragmento não atribuído. Se o fragmento for primário, substitua falso por verdadeiro.
Solucione o status vermelho ou amarelo
Para identificar por que o status do cluster está amarelo ou vermelho, realize as seguintes ações:
-
Verifique as Amazon CloudWatch Metrics ClusterStatus.yellow, ClusterStatus.red, Shards.unassigned, CPUUtilization, JVMMemoryPressure e FreeStorageSpace.
-
Execute a consulta a seguir para identificar os índices afetados:
GET /_cat/indices?v&health=yellow GET /_cat/indices?v&health=red -
Execute a consulta a seguir para entender por que os fragmentos não estão atribuídos em todos os índices:
GET /_cluster/allocation/explainObservação: a saída desse comando mostra uma visão abrangente dos fragmentos não atribuídos e seu status de alocação em todo o seu cluster. É possível usar essas informações para obter uma visão geral dos problemas de alocação.
Para resolver o status vermelho do cluster, execute o seguinte comando para excluir os índices vermelhos:
curl -XDELETE 'domain-endpoint/index-names'
Observação: substitua domain-endpoint pelo endpoint do seu domínio e index-names pelo nome do seu índice.
Em seguida, restaure seus índices a partir de um snapshot.
Se o status amarelo do cluster não for resolvido automaticamente, use as informações sobre o motivo pelo qual o fragmento não está atribuído para resolver a causa raiz.
Não há nós suficientes para alocar para os fragmentos
Os fragmentos primários e de réplica devem residir em nós diferentes. Como resultado, clusters de nó único com fragmentos de réplica sempre inicializam com um status amarelo porque o OpenSearch Service não pode alocar fragmentos de réplica.
As versões 7.x e posteriores do OpenSearch Service têm uma cota padrão de 1000 para cluster.max_shards_per_node. É uma prática recomendada usar o valor padrão para cluster.max_shards_per_node. Para obter mais informações, consulte Cluster-level shard, block, and task settings (Configurações de fragmentos, blocos e tarefas em nível de cluster) no site do OpenSearch.
Se você definir filtros de alocação de fragmentos, o fragmento pode não ser atribuído porque não tem nós filtrados suficientes. Para obter mais informações sobre filtros de alocação de fragmentos, consulte Index-level index settings (Configurações de índice em nível de índice) no site do OpenSearch.
Para evitar esse problema, realize as seguintes ações:
- Aumente sua contagem de nós.
- Verifique se o número de réplicas para cada fragmento primário é menor que o número de nós de dados.
- Reduza o número de fragmentos de réplica.
Para obter mais informações, consulte Dimensionamento de domínios do Amazon OpenSearch Service e Demystifying OpenSearch Service shard allocation (Desmistificando a alocação de fragmentos do OpenSearch Service).
Problemas de espaço de armazenamento
Se não houver espaço em disco suficiente, seu cluster pode entrar em um status de integridade vermelho ou amarelo. Seu nó deve haver espaço em disco suficiente para acomodar fragmentos antes que o OpenSearch Service distribua os fragmentos.
Para verificar quanto espaço de armazenamento está disponível para cada nó em seu cluster, execute o seguinte comando:
curl domain-endpoint/_cat/allocation?v
Observação: substitua domais-endpoint pelo endpoint do seu domínio.
Se você distribuir fragmentos de forma desigual, alguns nós poderão ficar sem espaço enquanto outros ainda têm espaço. Isso pode causar problemas durante a realocação de fragmentos, em que o OpenSearch Service não pode atribuir novos fragmentos durante o processo de rebalanceamento.
Para verificar suas configurações de distribuição de fragmentos, execute o seguinte comando:
curl -XGET domain-endpoint/_cluster/settings?include_defaults=true&flat_settings=true
Observação: substitua domais-endpoint pelo endpoint do seu domínio.
É uma prática recomendada monitorar regularmente o espaço em disco e resolver proativamente os problemas de desequilíbrio de disco para tratar a integridade do cluster.
Para obter mais informações, consulte Como resolver o problema de pouco espaço de armazenamento em meu domínio do OpenSearch Service? e Como reequilibrar a distribuição desigual de fragmentos em meu cluster do OpenSearch Service?
Alta pressão de memória JVM
A alocação de fragmentos é um processo que consome recursos de CPU, espaço de heap, disco e recursos de rede. A pressão de memória da Java Virtual Machine (JVM) consistentemente alta pode interferir na alocação bem-sucedida de fragmentos. Para resolver esse problema, solucione a alta pressão de memória da JVM. Depois de reduzir a pressão de memória da JVM, execute as seguintes ações para restaurar o cluster para um status verde:
- Execute o comando a seguir para aumentar o valor padrão de nova tentativa de fragmento:
Observação: substitua index-name pelo nome do seu índice e 10 pelo seu valor de nova tentativa.PUT /index-name/_settings { "index.allocation.max_retries": 10 } - Altere o valor de nova tentativa do fragmento para 0 para desativar os fragmentos de réplica. Em seguida, altere-o para um valor positivo para reativar os fragmentos.
Falhas no nó
Falhas nos nós fazem com que seus fragmentos alocados não sejam atribuídos. Sem fragmentos de réplica, até mesmo uma única falha em um nó pode causar um status de integridade vermelho. No entanto, quando você configura índices com fragmentos de réplica, uma falha no nó normalmente resulta em um status amarelo temporário. Esse status amarelo ocorre enquanto o OpenSearch Service se recupera automaticamente. O status amarelo termina quando o nó com falha se torna íntegro novamente ou quando o OpenSearch Service reatribui fragmentos a outros nós.
Para se proteger contra falhas de hardware, realize as seguintes ações:
- Distribua nós em várias Zonas de disponibilidade.
- Certifique-se de que haja pelo menos um fragmento de réplica para cada índice.
- Ative nós principais dedicados.
- Melhore a tolerância a falhas do seu domínio.
- Use as CloudWatch Metrics para monitorar a integridade do cluster para que seja possível identificar e responder rapidamente às falhas.
Para obter mais informações sobre como identificar uma falha de nó, consulte Nós de cluster com falha.
Integridade amarela recorrente no cluster
Seus clusters podem estar frequentemente no estado de integridade amarelo pelos seguintes motivos:
- Falhas ou reinicializações transitórias de nós que ocorrem quando os nós falham temporariamente e os fragmentos de réplica não são atribuídos.
Observação: o cluster pode se recuperar sozinho quando esse nó voltar ou quando o OpenSearch Service reequilibrar os fragmentos. - Você excede a falha na alocação de fragmentos ou a cota de novas tentativas devido a restrições de recursos ou problemas de configuração.
- Manutenção programada, trabalhos de backup ou picos pesados de carga ocorrem em clusters com alto uso de recursos, de modo que os nós flutuam ou rejeitam alocações de fragmentos.
- Um upgrade recorrente ou um índice criado automaticamente criou novas réplicas que excedem a capacidade do cluster.
Para evitar e solucionar problemas com o status de integridade amarelo recorrente, realize as seguintes ações:
- Para clusters de nó único, certifique-se de que todos os índices tenham 0 réplicas.
Observação: para clusters de nó único, o OpenSearch Service gerencia e configura automaticamente os índices do sistema, como opendistro_security. Não é possível modificar as configurações dos índices do sistema. - Para clusters de vários nós, mantenha pelo menos um nó de réplica. Para maior redundância, aumente sua contagem de nós e réplicas.
- Configure um domínio Multi-AZ para alta disponibilidade e tolerância a falhas.
Observação: se a alocação de fragmentos falhar, verifique se o número de nós em seu cluster, Zonas de disponibilidade e configuração em espera estão corretos para os requisitos do seu cluster. - Se o fragmento não conseguir ser bloqueado na memória, aumente o valor de index.allocation.max_retries.
- Para evitar o esgotamento de recursos, aumente a escala verticalmente do seu domínio durante uma carga alta.
- Para monitorar proativamente as mudanças nas necessidades de recursos, crie um alarme do CloudWatch para as métricas ClusterStatus.yellow, ClusterStatus.red, JVMMemoryPressure, AutomatedSnapshotFailure e FreeStorageSpace.
Para obter mais informações, consulte Práticas recomendadas operacionais para o Amazon OpenSearch Service.
- Tópicos
- AnalyticsEnd User Computing
- Idioma
- Português

Conteúdo relevante
- feita há 8 meses
- feita há 5 meses
- feita há 6 meses