¿Cómo soluciono los problemas al actualizar mi clúster de Amazon MSK?

5 minutos de lectura
0

Necesito solucionar problemas al actualizar mi clúster de Amazon Managed Streaming para Apache Kafka (Amazon MSK).

Resolución

Consideraciones y prácticas recomendadas

Tenga en cuenta lo siguiente antes de actualizar su clúster de Amazon MSK:

  • Asegúrese de establecer el factor de replicación del clúster en un valor igual o superior a 3. Si se establece un factor de replicación de 1, es posible que las particiones estén fuera de línea durante una actualización continua. Establecer un factor de replicación de 2 podría provocar la pérdida de datos.
  • Establezca el mínimo de réplicas sincronizadas (minISR) en un valor de (factor de replicación: 1) o inferior. Un valor de minISR igual al factor de replicación podría impedir que produzcas en el clúster durante una actualización continua. Un minISR de 2 permite que los temas replicados en tres direcciones estén disponibles cuando una réplica está fuera de línea.
  • Asegúrese de que las cadenas de conexión del cliente incluyan al menos un agente de cada zona de disponibilidad. Tener varios corredores en la cadena de conexión de un cliente permite la conmutación por error cuando un corredor específico está desconectado para realizar una actualización.
  • Antes de actualizar la configuración de un clúster, asegúrese de que el clúster esté en estado ACTIVE (ACTIVO).
  • Se recomienda actualizar el clúster en tiempos de poco tráfico. La cantidad de tiempo necesaria para actualizar la versión de Apache Kafka depende de la cantidad de corredores del clúster.
  • No puede realizar otras actualizaciones en el clúster cuando actualiza la versión del clúster. Puede seguir produciendo y consumiendo desde el clúster durante la actualización.
  • No hay riesgo de pérdida de datos durante una actualización, excepto los temas que no se replican lo suficiente (ejemplo: temas con un factor de replicación inferior a 3). Incluso en esta situación, las particiones vuelven a estar disponibles una vez que los corredores estén en línea.
  • Puede actualizar la versión de Apache Kafka de su clúster de Amazon MSK mediante la consola de Amazon MSK o la Interfaz de la línea de comandos de AWS (AWS CLI).
  • Puede actualizar su clúster de Amazon MSK a una versión más reciente de Apache Kafka. No puede actualizarlo a una versión anterior.
  • Amazon MSK actualiza solo el software del servidor y no actualiza sus clientes. Por lo tanto, cuando actualice su clúster, confirme que puede utilizar las funciones de la nueva versión de Apache Kafka con la versión del software de cliente.
  • La actualización del tipo de instancia no actualiza la versión del clúster.

Supervisión de la actualización

Al crear un clúster de Amazon MSK, debe especificar qué versión de Apache Kafka necesita en el clúster. También puede actualizar el clúster a una versión más reciente de Apache Kafka después de crear el clúster de la siguiente manera:

  1. Abra la consola de Amazon MSK.
  2. Elija el clúster que desee actualizar.
  3. En la pestañaPropiedades seleccione Actualizar en la sección de Versión de Apache Kafka.

Para obtener más información, consulte Actualización de la versión de Apache Kafka.

Puede supervisar el progreso de la actualización en la pestaña Operaciones del clúster. Puede supervisar cada paso de la actualización, como Inicializar la actualización, Actualizar la versión de Apache Kafka y Finalizar la actualización, desde esta pestaña. Cuando la actualización alcance el 17 %, es posible que la actualización tarde varias horas en completarse. Tenga en cuenta que Amazon MSK realiza la actualización en forma continua. Se retira un corredor del clúster a la vez y se actualiza su versión de Kafka. Este corredor se reincorpora cuando se retira el siguiente corredor. Este proceso se sigue hasta que el último corredor se actualice con la nueva versión de Kafka.

Solución de problemas comunes

Error al actualizar la configuración del clúster Se ha producido un problema al actualizar la configuración del clúster. Si el problema persiste, póngase en contacto con AWS Support. El número de particiones por corredor supera el límite recomendado. Agregue más corredores y reorganice las particiones por corredor para que estén por debajo del límite recomendado y, a continuación, vuelva a intentar la solicitud.

-o-

La actualización está atascada en la etapa «Inicializar la actualización»

Aparece este error cuando el número de particiones por corredor supera el valor recomendado. El manejo de particiones en un intermediario es una carga de trabajo que consume muchos recursos. Tener un número de particiones superior al límite recomendado podría suponer una carga para los recursos disponibles en el clúster. En esta situación, no puede realizar ninguna de las siguientes operaciones en el clúster:

  • Actualizar la configuración del clúster
  • Actualizar la versión de Apache Kafka para el clúster
  • Actualizar el clúster a un tipo de corredor más pequeño

Para resolver este error, pruebe lo siguiente:

  • Aumentar la cantidad de corredores dentro del clúster. A continuación, reasignar las particiones para reducir la cantidad de particiones por corredor. Utilizar las métricas de Amazon CloudWatch para conocer el número de particiones por corredor. El recuento de particiones es el número total de particiones temáticas por corredor, incluidas las réplicas. De forma predeterminada, el número de particiones por tema es 1 y el factor de replicación es 3 para un clúster 3-AZ. Por lo tanto, tiene 3 particiones por tema porque el factor de replicación de 3 incluye la partición principal. Para mover particiones a diferentes corredores del mismo clúster, puede utilizar la herramienta de reasignación de particiones denominada kafka-reassign-partitions.sh.
  • Reduzca el número de particiones eliminando los temas no utilizados. Puede usar el siguiente comando para ver todos los temas del clúster junto con el número de particiones. Asegúrese de configurar un cliente Apache Kafka en una máquina de Amazon Elastic Compute Cloud (Amazon EC2) antes de ejecutar el comando.
bin/kafka-topics.sh —bootstrap-server localhost:9092 —describe —topic test
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año