Beim Checkpointing kommt es zu einer Zeitüberschreitung - 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.

Beim Checkpointing kommt es zu einer Zeitüberschreitung

Wenn Ihre Anwendung nicht optimiert oder ordnungsgemäß bereitgestellt ist, können Checkpoints fehlschlagen. In diesem Abschnitt werden Symptome und Schritte zur Behebung dieses Problems beschrieben.

Symptome

Wenn Checkpoints für Ihre Anwendung fehlschlagen, ist der Wert von numberOfFailedCheckpoints größer als Null.

Checkpoints können entweder aufgrund direkter Fehler, wie Anwendungsfehler, oder aufgrund vorübergehender Fehler, z. B. aufgrund unzureichender Anwendungsressourcen, fehlschlagen. Überprüfen Sie Ihre Anwendungsprotokolle und Metriken auf die folgenden Symptome:

  • Fehler in Ihrem Code.

  • Fehler beim Zugriff auf die abhängigen Services Ihrer Anwendung.

  • Fehler beim Serialisieren von Daten. Wenn der Standard-Serializer Ihre Anwendungsdaten nicht serialisieren kann, schlägt die Anwendung fehl. Informationen zur Verwendung eines benutzerdefinierten Serializers in Ihrer Anwendung finden Sie unter Datentypen und Serialisierung in der Apache Flink-Dokumentation.

  • Fehler wegen Speichermangel.

  • Spitzen oder stetiger Anstieg der folgenden Metriken:

    • heapMemoryUtilization

    • oldGenerationGCTime

    • oldGenerationGCCount

    • lastCheckpointSize

    • lastCheckpointDuration

Weitere Informationen zur Überwachung von Checkpoints finden Sie unter Monitoring Checkpointing in der Apache Flink-Dokumentation.

Ursachen und Lösungen

Die Fehlermeldungen im Anwendungsprotokoll zeigen die Ursache für direkte Fehler. Vorübergehende Fehler können folgende Ursachen haben:

  • Ihre Anwendung verfügt über eine unzureichende KPU Bereitstellung. Informationen zur Erhöhung der Anwendungsbereitstellung finden Sie unter Implementieren Sie die Anwendungsskalierung in Managed Service für Apache Flink.

  • Die Größe des Anwendungszustands ist zu hoch. Sie können die Größe Ihres Anwendungszustands anhand der lastCheckpointSize-Metrik überwachen.

  • Die Zustandsdaten Ihrer Anwendung sind ungleich auf die Schlüssel verteilt. Wenn Ihre Anwendung den KeyBy-Operator verwendet, stellen Sie sicher, dass Ihre eingehenden Daten gleichmäßig auf die Schlüssel aufgeteilt werden. Wenn die meisten Daten einem einzigen Schlüssel zugewiesen werden, entsteht ein Engpass, der zu Fehlern führt.

  • Ihre Anwendung leidet unter einem Gegendruck im Speicher oder bei der Garbage Collection. Überwachen Sie heapMemoryUtilization, oldGenerationGCTime und oldGenerationGCCount Ihrer Anwendung auf Spitzen oder stetig steigende Werte.