Actualización de la versión de Apache Kafka
Puede actualizar un clúster de Amazon MSK existente a una versión más reciente de Apache Kafka. Antes de actualizar la versión de Kafka del clúster, verifique que la versión del software del lado del cliente admita las características de la nueva versión de Kafka.
Para obtener información sobre cómo mantener un clúster con alta disponibilidad durante una actualización, consulte Crear clústeres de alta disponibilidad.
Actualización de la versión de Apache Kafka mediante Consola de administración de AWS
Abra la consola de Amazon MSK en https://console.aws.amazon.com/msk/
. -
En la barra de navegación, seleccione la región en la que creó el clúster de MSK.
-
Seleccione el clúster de Amazon MSK que desea actualizar.
-
En la pestaña Propiedades, elija Actualizar en la sección Versión de Apache Kafka.
-
En la sección Versión de Apache Kafka, realice lo siguiente:
-
En la lista desplegable Elegir versión de Apache Kafka, seleccione la versión de destino a la que desea realizar la actualización. Por ejemplo, elija
3.9.x. -
(Opcional) Seleccione Ver compatibilidad de versiones para verificar la compatibilidad entre la versión actual del clúster y las versiones disponibles para la actualización. Luego, seleccione Elegir para continuar.
nota
Amazon MSK admite actualizaciones de versión en el lugar para la mayoría de las versiones de Apache Kafka. Sin embargo, al actualizar desde una versión de Kafka basada en ZooKeeper a una versión basada en KRaft, debe crear un clúster nuevo. A continuación, copie los datos en el clúster nuevo y cambie los clientes para que utilicen dicho clúster.
-
(Opcional) Seleccione la casilla Actualizar la configuración del clúster para aplicar actualizaciones de configuración compatibles con la nueva versión. Esto habilita las nuevas características y mejoras de la versión.
Puede omitir este paso si necesita mantener las configuraciones personalizadas existentes.
nota
-
Las actualizaciones del lado del servidor no actualizan automáticamente las aplicaciones cliente.
-
Para mantener la estabilidad del clúster, no se admiten reducciones de versión.
-
-
Seleccione Actualizar versión para iniciar el proceso.
-
Actualización de la versión de Apache Kafka mediante AWS CLI
Ejecute el siguiente comando, reemplazando
clusterArnpor 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.aws kafka get-compatible-kafka-versions --cluster-arnClusterArnLa salida de este comando incluye una lista de las versiones de Apache Kafka a las que puede actualizar el clúster. Es similar al ejemplo siguiente.
{ "CompatibleKafkaVersions": [ { "SourceVersion": "2.2.1", "TargetVersions": [ "2.3.1", "2.4.1", "2.4.1.1", "2.5.1" ] } ] }-
Ejecute el siguiente comando, reemplazando
clusterArnpor 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-Versioncon la versión actual del clúster. ParaTargetVersion, puede especificar cualquiera de las versiones de destino del resultado del comando anterior.importante
Las versiones de clúster no son enteros simples. Para buscar la versión actual del clúster, utilice la operación DescribeCluster o el comando describe-cluster
de la AWS CLI. Un ejemplo de ID de versión es KTVPDKIKX0DER.aws kafka update-cluster-kafka-version --cluster-arnClusterArn--current-versionCurrent-Cluster-Version--target-kafka-versionTargetVersionEl resultado del comando anterior tiene un aspecto similar al siguiente JSON.
{ "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" } -
Para obtener el resultado de la operación
update-cluster-kafka-version, ejecute el siguiente comando, reemplazandoClusterOperationArnpor el ARN que obtuvo en la salida del comandoupdate-cluster-kafka-version.aws kafka describe-cluster-operation --cluster-operation-arnClusterOperationArnEl resultado de este comando
describe-cluster-operationtendrá un aspecto similar al siguiente.{ "ClusterOperationInfo": { "ClientRequestId": "62cd41d2-1206-4ebf-85a8-dbb2ba0fe259", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2021-03-11T20:34:59.648000+00:00", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_IN_PROGRESS", "OperationSteps": [ { "StepInfo": { "StepStatus": "IN_PROGRESS" }, "StepName": "INITIALIZE_UPDATE" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "UPDATE_APACHE_KAFKA_BINARIES" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "FINALIZE_UPDATE" } ], "OperationType": "UPDATE_CLUSTER_KAFKA_VERSION", "SourceClusterInfo": { "KafkaVersion": "2.4.1" }, "TargetClusterInfo": { "KafkaVersion": "2.6.1" } } }Si
OperationStatetiene el valorUPDATE_IN_PROGRESS, espere un rato y vuelva a ejecutar el comandodescribe-cluster-operation. Cuando se completa la operación, el valor deOperationStatese convierte enUPDATE_COMPLETE. Como el tiempo necesario para que Amazon MSK complete la operación varía, es posible que tenga que comprobarlo varias veces hasta que se complete la operación.
Actualización de la versión de Apache Kafka mediante la API
Invoque la operación GetCompatibleKafkaVersions para obtener una lista de las versiones de Apache Kafka a las que puede actualizar el clúster.
Invoque la operación UpdateClusterKafkaVersion para actualizar el clúster a una de las versiones compatibles de Apache Kafka.