Vorsichtsmaßnahmen und bekannte Probleme bei Anwendungsupgrades - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Vorsichtsmaßnahmen und bekannte Probleme bei Anwendungsupgrades

Bekannte Einschränkungen der staatlichen Kompatibilität

  • Wenn Sie die Tabelle verwendenAPI, garantiert Apache Flink keine Statuskompatibilität zwischen den Flink-Versionen. Weitere Informationen finden Sie unter Stateful Upgrades and Evolution in der Apache Flink-Dokumentation.

  • Die Status von Flink 1.6 sind nicht mit Flink 1.18 kompatibel. Der API lehnt Ihre Anfrage ab, wenn Sie versuchen, ein Upgrade von 1.6 auf 1.18 und höher mit State durchzuführen. Sie können ein Upgrade auf 1.8, 1.11, 1.13 und 1.15 durchführen und einen Snapshot erstellen und dann auf 1.18 und höher aktualisieren. Weitere Informationen finden Sie unter Upgraden von Anwendungen und Flink-Versionen in der Apache Flink-Dokumentation.

Bekannte Probleme mit dem Flink Kinesis Connector

  • Wenn Sie Flink 1.11 oder früher verwenden und den amazon-kinesis-connector-flink Connector für E nhanced-fan-out (EFO) -Unterstützung verwenden, müssen Sie zusätzliche Schritte unternehmen, um ein Stateful-Upgrade auf Flink 1.13 oder höher durchzuführen. Das liegt an der Änderung des Paketnamens des Connectors. Weitere Informationen finden Sie unter amazon-kinesis-connector-flink.

    Der amazon-kinesis-connector-flink Anschluss für Flink 1.11 und frühere Versionen verwendet die Verpackungsoftware.amazon.kinesis, wohingegen der Kinesis-Anschluss für Flink 1.13 und höher verwendet. org.apache.flink.streaming.connectors.kinesis Verwenden Sie dieses Tool, um Ihre Migration zu unterstützen: -state-migrator. amazon-kinesis-connector-flink

  • Wenn Sie Flink 1.13 oder früher mit Flink 1.15 oder höher verwenden FlinkKinesisProducer und ein Upgrade auf Flink 1.15 oder höher durchführen, müssen Sie für ein Stateful-Upgrade weiterhin Flink 1.15 oder höher verwenden, FlinkKinesisProducer anstatt das neuere. KinesisStreamsSink Wenn Sie jedoch bereits ein benutzerdefiniertes uid Set auf Ihrer Spüle haben, sollten Sie in der Lage sein, zu diesem zu wechseln, weil der Status nicht beibehalten wird. KinesisStreamsSink FlinkKinesisProducer Flink behandelt ihn als denselben Operator, da ein benutzerdefinierter Operator festgelegt uid ist.

In Scala geschriebene Flink-Anwendungen

  • Ab Flink 1.15 beinhaltet Apache Flink Scala nicht mehr in der Runtime. Sie müssen die Version von Scala, die Sie verwenden möchten, und andere Scala-Abhängigkeiten in Ihren Code JAR /zip aufnehmen, wenn Sie auf Flink 1.15 oder höher aktualisieren. Weitere Informationen finden Sie unter Amazon Managed Service für Apache Flink für die Version Apache Flink 1.15.2.

  • Wenn Ihre Anwendung Scala verwendet und Sie sie von Flink 1.11 oder früher (Scala 2.11) auf Flink 1.13 (Scala 2.12) aktualisieren, stellen Sie sicher, dass Ihr Code Scala 2.12 verwendet. Andernfalls kann Ihre Flink 1.13-Anwendung möglicherweise keine Scala 2.11-Klassen in der Flink 1.13-Laufzeit finden.

Dinge, die Sie beim Downgrade der Flink-Anwendung beachten sollten

  • Ein Downgrade von Flink-Anwendungen ist möglich, aber auf Fälle beschränkt, in denen die Anwendung zuvor mit der älteren Flink-Version ausgeführt wurde. Für ein Stateful-Upgrade benötigt Managed Service für Apache Flink die Verwendung eines Snapshots, der mit einer entsprechenden oder früheren Version für das Downgrade erstellt wurde

  • Wenn Sie Ihre Runtime von Flink 1.13 oder höher auf Flink 1.11 oder früher aktualisieren und Ihre App das HashMap State-Backend verwendet, schlägt Ihre Anwendung kontinuierlich fehl.