Como soluciono problemas ao atualizar meu cluster Amazon MSK?

5 minuto de leitura
0

Preciso solucionar problemas ao atualizar meu cluster Amazon Managed Streaming para Apache Kafka (Amazon MSK).

Resolução

Considerações e práticas recomendadas

Antes de atualizar o seu cluster do Amazon MSK:

  • Certifique-se de definir o fator de replicação para o cluster como um valor de três ou superior. Definir um fator de replicação de um pode levar a partições offline durante uma atualização contínua. Definir um fator de replicação de dois pode levar à perda de dados.
  • Defina o mínimo de réplicas em sincronização (miniSR) para um valor de (fator de replicação - um) ou inferior. Um valor minISR igual ao fator de replicação pode impedir a produção no cluster durante uma atualização contínua. Um miniSR de dois permite que tópicos replicados em três vias estejam disponíveis quando uma réplica está offline.
  • Certifique-se de que as cadeias de conexão do cliente incluam pelo menos um agente de cada zona de disponibilidade. Ter vários agentes na cadeia de conexão de um cliente permite o failover quando um agente específico estiver offline para atualização.
  • Antes de atualizar a configuração de um cluster, verifique se o cluster está no estado ATIVO.
  • A prática recomendada é atualizar seu cluster em períodos de baixo tráfego. O tempo necessário para atualizar a versão do Apache Kafka depende do número de agentes em seu cluster.
  • Não é possível fazer outras atualizações no cluster enquanto estiver atualizando a versão do cluster. Durante a atualização, é possível produzir e consumir do cluster.
  • Não há risco de perda de dados durante uma atualização, exceto tópicos pouco replicados (exemplo: tópicos com um fator de replicação menor do que três). Mesmo nessa situação, as partições estarão disponíveis novamente depois que os agentes estiverem online.
  • É possível atualizar a versão Apache Kafka do seu cluster Amazon MSK por meio do console Amazon MSK ou da AWS Command Line Interface (AWS CLI).
  • É possível atualizar seu cluster Amazon MSK para uma versão mais recente do Apache Kafka. Não é possível pode atualizá-lo para uma versão mais antiga.
  • O Amazon MSK atualiza apenas o software do servidor e não atualiza seus clientes. Portanto, ao atualizar seu cluster, confirme se você pode usar os recursos da nova versão do Apache Kafka com a versão de software do cliente.
  • A atualização do tipo de instância não atualiza a versão do cluster.

Monitoramento da atualização

Ao criar um cluster Amazon MSK, você especifica qual versão do Apache Kafka precisa no cluster. Também é possível atualizar o cluster para uma versão mais recente do Apache Kafka depois de criar o cluster, fazendo o seguinte:

  1. Abra o console do Amazon MSK.
  2. Escolha o cluster que você deseja atualizar.
  3. Na guia Propriedades, escolha Atualizar na seção de versão do Apache Kafka.

Para mais informações, consulte Atualização da versão do Apache Kafka.

É possível monitorar o progresso da atualização na guia Operações do cluster. Nesta guia, é possível monitorar Inicializar a atualização, Atualizar a versão do Apache Kafka e Finalizar a atualização. Depois que a atualização atingir 17%, pode demorar várias horas para que a atualização seja concluída. Observe que o Amazon MSK realiza a atualização de forma contínua. Um agente é retirado do cluster por vez e sua versão Kafka é atualizada. Esse agente se junta novamente quando o próximo agente é retirado. Esse processo é realizado até que o último agente seja atualizado com a nova versão do Kafka.

Diagnóstico e solução de erros comuns

Erro ao atualizar a configuração do cluster. Houve um problema ao atualizar a configuração do cluster. Se o problema persistir, entre em contato com o AWS Support. O número de partições por agente está acima do limite recomendado. Adicione mais agentes e reorganize as partições por agente para ficarem abaixo do limite recomendado e, em seguida, repita a solicitação.

-ou-

A atualização está travada no estágio “Inicializando a atualização”

Você recebe esse erro quando o número de partições por agente excede o valor recomendado. O manuseio de partições em um agente é uma workload que consome muitos recursos. Ter um número maior de partições do que o limite recomendado pode sobrecarregar os recursos disponíveis no cluster. Nessa situação, não é possível realizar nenhuma das seguintes operações no cluster:

  • Atualizar a configuração do cluster
  • Atualizar a versão do Apache Kafka para o cluster
  • Atualizar o cluster para um tipo de agente menor

Para resolver esse erro, tente o seguinte:

  • Aumente o número de agentes dentro do cluster. Em seguida, reatribua as partições para reduzir o número de partições por agente. Use as métricas do Amazon CloudWatch para saber o número de partições por agente. A contagem de partições é o número total de partições de tópicos por agente, incluindo réplicas. Por padrão, o número de partições por tópico é um e o fator de replicação é três para um agente 3-AZ. Portanto, você tem três partições por tópico porque o fator de replicação de três inclui a partição principal. Para mover partições para diferentes agentes no mesmo cluster, você pode usar a ferramenta de reatribuição de partições chamada kafka-reassign-partitions.sh.
  • Reduza o número de partições excluindo tópicos não utilizados. Você pode usar o comando a seguir para ver todos os tópicos do cluster junto com o número de partições. Certifique-se de configurar um cliente Apache Kafka em uma máquina Amazon Elastic Compute Cloud (Amazon EC2) antes de executar o comando.
bin/kafka-topics.sh —bootstrap-server localhost:9092 —describe —topic test
AWS OFICIAL
AWS OFICIALAtualizada há um ano