Atualize seu cluster ES adicionando nós, aumentando as especificações dos nós, expandindo o espaço em disco ou incluindo tipos de nós quando a utilização de recursos permanecer alta ou o desempenho for insuficiente.
Antes de começar
A atualização pode causar latência no serviço, conflitos de configuração e alterações no faturamento. Revise os itens a seguir antes de prosseguir.
-
Estabilidade do serviço
-
Estabilidade do serviço durante alterações de configuração:
Condição do cluster
Impacto no serviço
Ação recomendada
Carga normal com réplicas
Carga normal: CPU ≤ 60%, memória heap ≤ 50%, carga < número de núcleos.
O serviço permanece disponível. Possível pequena redução de desempenho.
Nenhuma ação necessária.
Carga alta sem réplicas
Carga alta: Gravações ou consultas simultâneas elevadas durante a atualização, com CPU > 60% ou memória heap > 50%.
Podem ocorrer timeouts de acesso ocasionais.
-
Ative um mecanismo de nova tentativa no cliente.
-
Aumente o número de réplicas de índice antes da atualização.
Carga alta com status não íntegro
Podem ocorrer timeouts de acesso ocasionais ou instabilidades no serviço.
Restaure a integridade do cluster antes da alteração.
-
Janela de manutenção: Execute a operação fora dos horários de pico.
-
-
Planejamento de capacidade
-
Restrições de configuração
Não é possível atualizar a versão do Elasticsearch durante a atualização da configuração do cluster.
É possível alterar apenas um tipo de nó por operação de atualização.
-
Impacto nos custos
Após o envio do pedido de atualização, o faturamento segue a nova configuração. Regras de faturamento: pagamento conforme o uso, assinatura.
Verificações pré-atualização
Ignorar estas verificações pode causar falhas no cluster, perda de dados ou indisponibilidade do serviço.
-
Integridade do cluster
Execute
GET _cluster/healthpara verificar se o status do cluster é GREEN. Se não estiver íntegro, resolva o problema usando Erro de Alteração de Cluster - Estado do Cluster Não Íntegro. -
Segurança da carga
Execute
GET _cat/nodes?v. A utilização da CPU deve ser ≤ 60%. Se for maior, ative novas tentativas no lado do cliente e aumente as réplicas de índice. -
Prontidão dos índices
-
Execute
GET /_cat/indices?vpara verificar se há índices fechados. Abra qualquer índice fechado comPOST /<index_name>/_openantes de prosseguir. Índices fechados causam falha nas alterações de configuração porque:Índices fechados impedem que o cluster atinja o status GREEN, necessário para alterações na alocação de shards.
-
Durante uma alteração de configuração, o cluster realoca shards:
Shards de índices fechados não podem participar da realocação.
Operações que exigem status GREEN falham.
O cluster consegue atingir apenas o status YELLOW, no máximo.
-
Execute
GET _cat/indices?vpara verificar se cada índice possui pelo menos 1 réplica.Para implantações multizona, mantenha a contagem de réplicas abaixo do número de zonas durante a alteração (recomendado: 1). Aumente as réplicas após a conclusão da alteração.
-
-
Balanceamento de shards
Execute
GET _cat/shards?vpara verificar se há shards desbalanceados.ImportanteShards desbalanceados podem causar degradação de desempenho ou falhas no cluster após a atualização.
prirep: Verifique se algum shard de réplica (r) estáUNASSIGNED.state: Verifique se alguma migração de shard está presa no estadoRELOCATINGpor um período prolongado.
Esses problemas impedem que novos nós recebam shards, deixando o cluster em YELLOW ou RED. Resolva-os usando Soluções para carga desigual do cluster.
Método 1: Atualizar via console
-
Na página Instances, clique em Upgrade Configuration.
Ponto de entrada alternativo: Na página Basic Information da sua instância, clique em .
-
Na página Upgrade/Downgrade, ajuste os parâmetros de configuração conforme seus requisitos de negócio.
ImportanteOs parâmetros disponíveis variam conforme o tipo e a versão do cluster. A página de atualização exibe as opções aplicáveis.
-
Alterações de zona de disponibilidade: Se o estoque for insuficiente para uma especificação em uma zona, migre os nós primeiro.
É possível expandir de uma zona para duas ou três.
-
Especificações de nós e tipos de armazenamento (do menor para o maior desempenho):
-
Discos em nuvem de geração anterior: disco em nuvem padrão -> disco em nuvem ultra -> disco em nuvem SSD.
NotaEsses tipos de disco estão sendo descontinuados em algumas regiões. Use ESSDs em vez disso.
ESSDs: ESSDs (Enterprise SSDs) usam rede 25 GbE e RDMA para oferecer até 1 milhão de IOPS por disco com baixa latência.
-
Discos locais.
NotaDiscos locais residem na máquina host física do ECS. São adequados para cargas de trabalho que exigem alto desempenho de E/S ou armazenamento em massa econômico.
-
-
Atualização Inteligente (ativada por padrão): O sistema seleciona automaticamente o método ideal de atualização. Desative-a para escolher manualmente:
Método de atualização
Mecanismo
Duração
Impacto no serviço e casos de uso
Blue-green Update
Adicionar novos nós → Copiar dados → Transição transparente
Longa
-
Os endereços IP dos nós mudam. Possíveis flutuações temporárias de desempenho.
-
Ideal quando a disponibilidade é mais importante que a velocidade da atualização.
In-place Update
Reinicialização gradual dos nós (sem necessidade de cópia de dados).
Curta
-
Endereços IP dos nós inalterados. Possíveis flutuações temporárias de desempenho.
-
Mais indicado para resolução rápida de gargalos de desempenho.
ImportanteTenha cautela se a utilização de recursos estiver alta (CPU > 60%).
-
Forced Update: Ignora verificações de integridade e força a reinicialização do cluster. O tempo de recuperação depende do volume de dados. Use apenas para dimensionamento de emergência quando o cluster já estiver indisponível.
-
-
Leia os Terms of Service e o Service Level Agreement. Se concordar, clique em Buy Now. O faturamento segue o método selecionado.
Durante a alteração, o status do cluster muda para Initializing, com possíveis flutuações de desempenho e falhas transitórias de requisição. Após a conclusão, o status retorna para Normal.
Método 2: Atualizar via API
Chame a operação da API UpdateInstance.
Monitorar e verificar
-
Após o início da atualização, verifique o progresso na página Basic Information no console Elasticsearch Clusters:
Clique em Show Details:
-
Após a atualização, verifique a nova configuração na página Basic Information:
-
O status do cluster retorna para Active.
-
Zona de disponibilidade
-
Contagem de nós e armazenamento: Confirme se os novos nós ingressaram no cluster e se as especificações de armazenamento estão corretas.
Balanceamento de shards: Execute
GET _cat/allocation?vpara verificar a distribuição de shards. Se houver desbalanceamento, use Soluções para carga desigual do cluster.
-
FAQ
Atualizações e métricas de desempenho
P: A atualização sempre corrige o desempenho?
R: Não necessariamente. Atualizar CPU, memória ou disco não resolve todos os problemas. Identifique primeiro o gargalo específico:
Gargalo de CPU: Utilização sustentada acima de 80% (não apenas picos breves).
Gargalo de memória: Tempos longos e frequentes de coleta de lixo (GC), troca de memória (swapping) ou erros OutOfMemory (OOM).
Gargalo de disco: Verifique o throughput real de E/S, não apenas o %util (veja abaixo).
Gargalo de rede: A largura de banda da rede está consistentemente saturada e a latência é visivelmente alta.
Confirme o gargalo antes de atualizar. Otimizar índices, consultas ou configurações costuma ser mais eficaz do que adicionar recursos.
P: Por que meu sistema está normal se o %util está em 100%?
R: A métrica %util no iostat mede a porcentagem de tempo em que um dispositivo esteve ocupado com E/S, e não o volume de E/S. Discos modernos processam múltiplas requisições de E/S em paralelo, portanto, 100% de %util não significa que o dispositivo está saturado.
-
Por exemplo, um disco leva 0,1 segundos para processar uma única requisição de E/S e pode lidar com 10 requisições simultaneamente.
Se 10 requisições de E/S forem enviadas sequencialmente, levará 1 segundo para concluí-las, e o %util será de 100%.
Se 10 requisições de E/S forem enviadas de uma vez, elas serão processadas em paralelo e concluídas em 0,1 segundos. Medido em um intervalo de um segundo, isso resulta em um %util de 10%.
A métrica %util é praticamente irrelevante para armazenamentos modernos e não deve ser o único fator para decisões de atualização.
P: Quais métricas indicam um gargalo de disco?
R: Concentre-se nestas métricas em vez do %util:
Throughput de E/S: Taxa real de leitura/gravação (MB/s) versus seus requisitos.
Tempo de resposta: A latência das requisições de E/S, que afeta diretamente o desempenho das consultas.
IOPS: Operações de E/S por segundo para o padrão da sua carga de trabalho.
Profundidade da fila: O número de requisições de E/S pendentes.
Um %util de 100% que não se sustenta por horas geralmente não é preocupante. Use ferramentas como fio para fazer benchmark da largura de banda máxima real e IOPS.
P: Como avaliar um gargalo de desempenho de disco?
R: Avalie o desempenho do disco da seguinte forma:
Analise sua carga de trabalho: Determine a proporção de leitura/gravação, o tamanho de E/S e os padrões de acesso.
Compare o throughput real com os requisitos, não o %util.
Faça benchmark com fio: Simule sua carga de trabalho real para testar o desempenho do disco em condições reais.
Avalie a latência de consulta: Verifique se os tempos de resposta das consultas do ES atendem aos seus requisitos.
Monitore as métricas do ES: Acompanhe a latência de indexação e a latência de busca.
Baseie as decisões de atualização em um conjunto completo de métricas — utilização de CPU, uso de memória, throughput de E/S e latência de consulta — e não em uma única métrica.
Outras perguntas
O Alibaba Cloud Elasticsearch suporta atualizações ou downgrades de versão?
O cluster rebalanceia automaticamente os shards após a alteração do número de nós?
O que devo fazer se selecionei a configuração errada ao comprar uma instância ES?
Posso fazer downgrade da configuração após atualizar as especificações da instância? Como?
O que devo fazer se receber o erro "UpgradeVersionMustFromConsole" ao atualizar um cluster?
O que devo fazer se uma atualização de cluster falhar ou atingir o tempo limite?
A alteração do tipo de disco em nuvem de uma instância ES causa perda de dados?
Posso atualizar a CPU de uma instância ES diretamente para evitar migração de dados?