Precauciones y problemas conocidos relacionados con las actualizaciones de las aplicaciones - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

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.

Precauciones y problemas conocidos relacionados con las actualizaciones de las aplicaciones

Kafka Commit al poner puntos de control falla repetidamente tras el reinicio de un bróker

Existe un problema conocido de código abierto con Apache Flink en el conector Apache Kafka de la versión 1.15 de Flink causado por un error crítico de código abierto en el cliente Kafka de Kafka Client 2.8.1. Para obtener más información, consulte Kafka Commit on Checkpoints falla repetidamente tras el reinicio de un broker y no puede recuperar la conexión con el coordinador del grupo tras una KafkaConsumer excepción. commitOffsetAsync

Para evitar este problema, le recomendamos que utilice Apache Flink 1.18 o una versión posterior en Amazon Managed Service para Apache Flink.

Limitaciones conocidas de la compatibilidad entre estados

Problemas conocidos con el conector Flink Kinesis

  • Si utiliza Flink 1.11 o una versión anterior y utiliza el amazon-kinesis-connector-flink conector para la compatibilidad con Enhanced-fan-out (EFO), debe tomar medidas adicionales para realizar una actualización completa a Flink 1.13 o posterior. Esto se debe al cambio en el nombre del paquete del conector. Para obtener más información, consulte amazon-kinesis-connector-flink.

    El amazon-kinesis-connector-flink conector de Flink 1.11 y versiones anteriores usa el paquetesoftware.amazon.kinesis, mientras que el conector de Kinesis para Flink 1.13 y versiones posteriores usa el paquete. org.apache.flink.streaming.connectors.kinesis Utilice esta herramienta para respaldar su migración: -state-migrator. amazon-kinesis-connector-flink

  • Si utiliza Flink 1.13 o una versión anterior FlinkKinesisProducer y la actualiza a la versión 1.15 o posterior, para obtener una actualización con estado, debe seguir utilizándola en la versión 1.15 o posterior, FlinkKinesisProducer en lugar de utilizar la versión más reciente. KinesisStreamsSink Sin embargo, si ya tienes un uid conjunto personalizado en tu fregadero, deberías poder cambiarlo porque no mantiene el estado actual. KinesisStreamsSink FlinkKinesisProducer Flink lo tratará como el mismo operador porque uid tiene una configuración personalizada.

Aplicaciones de Flink escritas en Scala

  • A partir de la versión 1.15 de Flink, Apache Flink no incluye Scala en el entorno de ejecución. Debe incluir la versión de Scala que desee usar y otras dependencias de Scala en su código JAR /zip cuando actualice a Flink 1.15 o una versión posterior. Para obtener más información, consulte Amazon Managed Service for Apache Flink para la versión 1.15.2 de Apache Flink.

  • Si su aplicación usa Scala y la está actualizando de Flink 1.11 o anterior (Scala 2.11) a Flink 1.13 (Scala 2.12), asegúrese de que su código use Scala 2.12. De lo contrario, es posible que la aplicación Flink 1.13 no encuentre las clases de Scala 2.11 en el entorno de ejecución de Flink 1.13.

Aspectos a tener en cuenta a la hora de degradar la aplicación Flink

  • Es posible degradar las aplicaciones de Flink, pero se limita a los casos en que la aplicación se ejecutaba anteriormente con la versión anterior de Flink. Para una actualización completa, el servicio gestionado de Apache Flink requerirá el uso de una instantánea tomada con una versión coincidente o anterior para la degradación

  • Si está actualizando su entorno de ejecución de Flink 1.13 o posterior a Flink 1.11 o anterior, y si su aplicación usa el backend de HashMap estado, la aplicación fallará continuamente.