Actualización de la versión de Apache Kafka - Transmisión administrada de Amazon para Apache Kafka

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
  1. Abra la consola de Amazon MSK en https://console.aws.amazon.com/msk/.

  2. En la barra de navegación, seleccione la región en la que creó el clúster de MSK.

  3. Seleccione el clúster de Amazon MSK que desea actualizar.

  4. En la pestaña Propiedades, elija Actualizar en la sección Versión de Apache Kafka.

  5. En la sección Versión de Apache Kafka, realice lo siguiente:

    1. 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.

    2. (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.

    3. (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.

    4. Seleccione Actualizar versión para iniciar el proceso.

Actualización de la versión de Apache Kafka mediante AWS CLI
  1. 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.

    aws kafka get-compatible-kafka-versions --cluster-arn ClusterArn

    La 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" ] } ] }
  2. 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. Para TargetVersion, 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-arn ClusterArn --current-version Current-Cluster-Version --target-kafka-version TargetVersion

    El 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" }
  3. Para obtener el resultado de la operación update-cluster-kafka-version, ejecute el siguiente comando, reemplazando ClusterOperationArn por el ARN que obtuvo en la salida del comando update-cluster-kafka-version.

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    El resultado de este comando describe-cluster-operation tendrá 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 OperationState tiene el valor UPDATE_IN_PROGRESS, espere un rato y vuelva a ejecutar el comando describe-cluster-operation. Cuando se completa la operación, el valor de OperationState se convierte en UPDATE_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
  1. Invoque la operación GetCompatibleKafkaVersions para obtener una lista de las versiones de Apache Kafka a las que puede actualizar el clúster.

  2. Invoque la operación UpdateClusterKafkaVersion para actualizar el clúster a una de las versiones compatibles de Apache Kafka.