As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Remover um agente de um cluster do Amazon MSK
Use esta operação do Amazon MSK quando quiser remover agentes dos clusters provisionados do Amazon Managed Streaming for Apache Kafka (MSK). Você pode reduzir a capacidade de armazenamento e computação do cluster removendo conjuntos de agentes, sem impacto na disponibilidade, risco de durabilidade de dados ou interrupção nas aplicações de fluxo de dados.
Você pode adicionar mais agentes ao cluster para lidar com o aumento do tráfego e remover agentes quando o tráfego diminuir. Com a capacidade de adição e remoção de agentes, você pode utilizar melhor a capacidade do cluster e otimizar os custos de infraestrutura do MSK. A remoção do agente lhe dá o controle no nível do agente sobre a capacidade existente do cluster para atender às suas necessidades de workload e evitar a migração para outro cluster.
Use o AWS console, a interface de linha de comando (CLI), o SDK ou AWS CloudFormation para reduzir o número de agentes do seu cluster provisionado. O MSK escolhe os agentes que não têm nenhuma partição neles (exceto os tópicos de canário) e impede que as aplicações produzam dados para esses agentes, ao mesmo tempo que os remove com segurança do cluster.
Você deve remover um agente por zona de disponibilidade, caso queira reduzir o armazenamento e a computação de um cluster. Por exemplo, você pode remover dois agentes de um cluster de duas zonas de disponibilidade, ou três agentes de um cluster de três zonas de disponibilidade em uma única operação de remoção de agentes.
Para obter informações sobre como rebalancear as partições depois de remover agentes de um cluster, consulte Reatribuir partições.
Você pode remover os agentes de todos os clusters provisionados do MSK baseados em M5 e M7g, independentemente do tamanho da instância.
A remoção do broker é suportada nas versões 2.8.1 e superiores do Kafka, inclusive nos KRaft clusters de modo.
Tópicos
Prepare-se para remover os agentes ao remover todas as partições
Antes de iniciar o processo de remoção do agente, primeiro mova todas as partições, exceto aquelas dos tópicos __amazon_msk_canary
e __amazon_msk_canary_state
dos agentes que você planeja remover. Trata-se de tópicos internos que o Amazon MSK cria para métricas de integridade e diagnóstico do cluster.
Você pode usar o Kafka admin APIs ou o Cruise Control para mover partições para outros corretores que você pretende manter no cluster. Consulte Reatribuir partições.
Exemplo de processo para remover partições
Esta seção é um exemplo de como remover partições do agente que você pretende remover. Suponha que você tenha um cluster com seis agentes, dois agentes em cada AZ, e ele tenha quatro tópicos:
__amazon_msk_canary
__consumer_offsets
__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2
msk-brk-rmv
Crie uma máquina cliente conforme descrito em Criar uma máquina cliente.
Depois de configurar a máquina cliente, execute o comando a seguir para listar todos os tópicos disponíveis no cluster.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --list
Neste exemplo, vemos quatro nomes de tópicos:
__amazon_msk_canary
,__consumer_offsets
,__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2
emsk-brk-rmv
.Crie um arquivo json chamado
topics.json
na máquina cliente e adicione todos os nomes dos tópicos do usuário, como no exemplo de código a seguir. Você não precisa incluir o nome do tópico__amazon_msk_canary
, pois é um tópico gerenciado pelo serviço que será movido automaticamente quando necessário.{ "topics": [ {"topic": "msk-brk-rmv"}, {"topic": "__consumer_offsets"}, {"topic": "__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2"} ], "version":1 }
Execute o comando a seguir para gerar uma proposta para mover partições para apenas três agentes dos seis agentes no cluster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generate
Crie um arquivo chamado
reassignment-file.json
e copie aproposed partition reassignment configuration
que você obteve do comando acima.Execute o comando a seguir para mover as partições que você especificou em
reassignment-file.json
../bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --execute
A saída será semelhante à seguinte:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0
Execute o comando a seguir para verificar se todas as partições foram movidas.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --verify
A saída será semelhante à seguinte. Monitore o status até que todas as partições nos tópicos solicitados tenham sido reatribuídas com êxito:
Status of partition reassignment: Reassignment of partition msk-brk-rmv-0 is completed. Reassignment of partition msk-brk-rmv-1 is completed. Reassignment of partition __consumer_offsets-0 is completed. Reassignment of partition __consumer_offsets-1 is completed.
Quando o status indicar que a reatribuição de partição de cada partição foi concluída, monitore as métricas
UserPartitionExists
por cinco minutos para garantir que elas exibam0
para os agentes dos quais você moveu as partições. Depois de confirmar essa questão, você pode prosseguir para remover o agente do cluster.
Remover um corretor com o AWS Management Console
Para remover corretores com o AWS Management Console
Abra o console do Amazon MSK em https://console.aws.amazon.com/msk/
. Escolha o cluster do MSK que contém os agentes que deseja remover.
Na página de detalhes do cluster, escolha o botão Ações e selecione a opção Editar número de agentes.
Insira o número de agentes que você deseja que o cluster tenha por zona de disponibilidade. O console resume o número de agentes nas zonas de disponibilidade que serão removidos. Certifique-se de que é isso que você deseja.
Escolha Salvar alterações.
Para evitar a remoção acidental de um agente, o console solicita que você confirme que deseja excluir agentes.
Remova um corretor com a AWS CLI
Execute o comando a seguir, substituindo ClusterArn
pelo nome do recurso da Amazon (ARN) que você obteve quando criou o cluster. Se você não tiver o ARN do cluster, poderá encontrá-lo listando todos os clusters. Para obter mais informações, verifique Lista de clusters do Amazon MSK. Substitua Current-Cluster-Version
pela versão atual do cluster.
Importante
As versões de cluster não são inteiros simples. Para encontrar a versão atual do cluster, use a DescribeClusteroperação ou o comando AWS CLI describe-clusterKTVPDKIKX0DER
.
O Target-Number-of-Brokers
parâmetro representa o número total de nós de intermediários que você deseja que o cluster tenha quando essa operação for concluída com êxito. O valor especificado Target-Number-of-Brokers
deve ser um número inteiro menor que o número atual de corretores no cluster. Também deve ser um múltiplo do número de zonas de disponibilidade.
aws kafka update-broker-count --cluster-arn
ClusterArn
--current-versionCurrent-Cluster-Version
--target-number-of-broker-nodesTarget-Number-of-Brokers
A saída dessa operação update-broker-count
é semelhante ao seguinte JSON.
{ "ClusterOperationInfo": { "ClientRequestId": "c0b7af47-8591-45b5-9c0c-909a1a2c99ea", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-09-25T23:48:04.794Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "DECREASE_BROKER_COUNT", "SourceClusterInfo": { "NumberOfBrokerNodes": 12 }, "TargetClusterInfo": { "NumberOfBrokerNodes": 9 } } }
Nesta saída, OperationType
é DECREASE_BROKER_COUNT
. Se OperationState
tiver o valor UPDATE_IN_PROGRESS
, aguarde um pouco e execute o comando describe-cluster-operation
novamente.
Remover um corretor com a AWS API
Para remover corretores em um cluster usando a API, consulte UpdateBrokerCounta Referência da API Amazon Managed Streaming for Apache Kafka.