Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Eliminación de un agente de un clúster de Amazon MSK
Utilice esta operación de Amazon MSK cuando quiera eliminar agentes de los clústeres aprovisionados por Amazon Managed Streaming for Apache Kafka (MSK). Puede reducir la capacidad de almacenamiento y cómputo de su clúster eliminando grupos de agentes, sin que ello afecte a la disponibilidad, ponga en riesgo la durabilidad de los datos ni interrumpa sus aplicaciones de flujo de datos.
Puede agregar más agentes a su clúster para gestionar el aumento del tráfico y eliminarlos cuando el tráfico disminuya. Con la capacidad de agregar y eliminar agentes, podrá utilizar mejor la capacidad de su clúster y optimizar los costos de infraestructura de MSK. La eliminación de un agente le permite controlar a nivel de agente la capacidad del clúster existente para adaptarse a sus necesidades de carga de trabajo y evitar la migración a otro clúster.
Utilice la AWS consola, la interfaz de línea de comandos (CLI), el SDK o AWS CloudFormation reduzca el número de agentes del clúster aprovisionado. MSK selecciona los agentes que no tienen particiones (excepto en el caso de temas canario) e impide que las aplicaciones generen datos para esos agentes, al tiempo que los elimina del clúster de forma segura.
Si quiere reducir el almacenamiento y la computación de un clúster, debe eliminar un agente por zona de disponibilidad. Por ejemplo, puede eliminar dos agentes de un clúster de dos zonas de disponibilidad o tres agentes de un clúster de tres zonas de disponibilidad en una sola operación de eliminación de agentes.
Para obtener información acerca de cómo volver a equilibrar particiones después de eliminar agentes de un clúster, consulte Reasignar particiones.
Puede eliminar agentes de todos los clústeres de MSK aprovisionados basados en M5 y M7g, independientemente del tamaño de la instancia.
En las versiones 2.8.1 y posteriores de Kafka, incluso en los clústeres en modo, se puede eliminar el KRaft agente.
Temas
Prepárese para eliminar los agentes quitando todas las particiones
Antes de iniciar el proceso de eliminación de los agentes, mueva primero todas las particiones, excepto unas de los temas __amazon_msk_canary
y __amazon_msk_canary_state
de los agentes que planea eliminar. Se trata de temas internos que Amazon MSK crea para las métricas de estado y diagnóstico del clúster.
Puede usar Kafka admin APIs o Cruise Control para mover las particiones a otros corredores que desee conservar en el clúster. Consulte Reasignación de particiones.
Ejemplo de proceso de eliminación de particiones
Esta sección es un ejemplo de cómo eliminar las particiones del agente que desea eliminar. Suponga que tiene un clúster con 6 agentes, 2 agentes en cada zona de disponibilidad y que tiene cuatro temas:
__amazon_msk_canary
__consumer_offsets
__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2
msk-brk-rmv
Cree un equipo cliente tal y como se describe en Creación de un equipo cliente.
Tras configurar el equipo cliente, ejecute el siguiente comando para enumerar todos los temas disponibles en el clúster.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --list
En este ejemplo, vemos cuatro nombres de temas:
__amazon_msk_canary
,__consumer_offsets
,__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2
ymsk-brk-rmv
.Cree un archivo json llamado
topics.json
en el equipo cliente y agregue todos los nombres de los temas de usuario, tal y como se muestra en el siguiente código de ejemplo. No es necesario incluir el nombre del tema__amazon_msk_canary
, ya que se trata de un tema administrado por un servicio que se moverá automáticamente cuando sea necesario.{ "topics": [ {"topic": "msk-brk-rmv"}, {"topic": "__consumer_offsets"}, {"topic": "__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2"} ], "version":1 }
Ejecute el siguiente comando para generar una propuesta para mover las particiones a solo 3 agentes de los 6 agentes del clúster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generate
Cree un archivo llamado
reassignment-file.json
y copie el comandoproposed partition reassignment configuration
que obtuvo de arriba.Ejecute el siguiente comando para mover las particiones que especificó en el
reassignment-file.json
../bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --execute
El resultado tiene un aspecto similar al siguiente:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0
Ejecute el siguiente comando para verificar que todas las particiones se han movido.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --verify
El resultado tiene un aspecto similar al siguiente. Supervise el estado hasta que todas las particiones de los temas solicitados se hayan reasignado correctamente:
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.
Cuando el estado indique que se ha completado la reasignación de particiones para cada partición, supervise las métricas
UserPartitionExists
durante 5 minutos para asegurarse de que muestren0
a los agentes desde los que ha movido las particiones. Tras confirmarlo, puede proceder a eliminar el agente del clúster.
Elimine un corredor con la consola AWS de administración
Para eliminar corredores con la consola de AWS administración
Abra la consola de Amazon MSK en https://console.aws.amazon.com/msk/
. Elija el clúster de MSK que contiene los agentes que desea eliminar.
En la página de detalles del clúster, pulse el botón Acciones y seleccione la opción Editar número de agentes.
Introduzca el número de agentes que desea que el clúster tenga por zona de disponibilidad. La consola resume el número de agentes de todas las zonas de disponibilidad que se eliminarán. Asegúrese de que es lo que quiere.
Elija Guardar cambios.
Para evitar la eliminación accidental de agentes, la consola le pide que confirme que desea eliminar agentes.
Eliminar un corredor con la AWS CLI
Ejecute el siguiente comando, reemplazando ClusterArn
por el nombre de recurso de Amazon (ARN) que obtuvo al crear el clúster. Si no tiene el ARN para su clúster, puede encontrarlo enumerando todos los clústeres. Para obtener más información, consulte Enumeración de clústeres de Amazon MSK. Reemplace Current-Cluster-Version
con la versión actual del clúster.
importante
Las versiones de clúster no son enteros simples. Para encontrar la versión actual del clúster, utilice la DescribeClusteroperación o el comando AWS CLI describe-clusterKTVPDKIKX0DER
.
El Target-Number-of-Brokers
parámetro representa el número total de nodos intermediarios que desea que tenga el clúster cuando la operación se complete correctamente. El valor que especifique Target-Number-of-Brokers
debe ser un número entero inferior al número actual de corredores del clúster. También debe ser un múltiplo del número de zonas de disponibilidad.
aws kafka update-broker-count --cluster-arn
ClusterArn
--current-versionCurrent-Cluster-Version
--target-number-of-broker-nodesTarget-Number-of-Brokers
El resultado de esta operación update-broker-count
se parece al siguiente 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 } } }
En esta salida, OperationType
es DECREASE_BROKER_COUNT
. Si OperationState
tiene el valor UPDATE_IN_PROGRESS
, espere un rato y vuelva a ejecutar el comando describe-cluster-operation
.
Elimine un corredor con la AWS API
Para eliminar a los agentes de un clúster mediante la API, consulte la referencia UpdateBrokerCountde la API Amazon Managed Streaming for Apache Kafka.