Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Errorei del checkpoint per l'applicazione Apache Beam
Se l'applicazione Beam è configurata con lo spegnimento SourcesAfterIdleMs
Caratteristiche
Vai ai log dell'applicazione Managed Service for Apache Flink e controlla se il seguente messaggio di CloudWatch registro è stato registrato. Il seguente messaggio di log indica che il checkpoint non è andato a buon fine, poiché alcune attività sono state completate.
{ "locationInformation": "org.apache.flink.runtime.checkpoint.CheckpointCoordinator.onTriggerFailure(CheckpointCoordinator.java:888)", "logger": "org.apache.flink.runtime.checkpoint.CheckpointCoordinator", "message": "Failed to trigger checkpoint for jobyour job IDsince some tasks of jobyour job IDhas been finished, abort the checkpoint Failure reason: Not all required tasks are currently running.", "threadName": "Checkpoint Timer", "applicationARN":your application ARN, "applicationVersionId": "5", "messageSchemaVersion": "1", "messageType": "INFO" }
Ciò può accadere anche nella dashboard di Flink, dove alcune attività sono passate allo stato "FINITO" e il checkpoint non è più possibile.
Causa
shutdown SourcesAfterIdleMs è una variabile di configurazione di Beam che spegne le sorgenti che sono rimaste inattive per il tempo configurato di millisecondi. Il checkpoint non è più possibile quando una fonte viene chiusa. La conseguenza potrebbe essere un checkpoint non riuscito
Una delle cause per cui le attività passano allo stato «FINITO» è quando l'arresto SourcesAfterIdleMs è impostato su 0 ms, il che significa che le attività inattive verranno chiuse immediatamente.
Soluzione
Per evitare che le attività entrino immediatamente nello stato «FINITO», imposta shutdown su _VALUE. SourcesAfterIdleMs Long.MAX Esistono due maniere per assicurarsene:
-
Opzione 1: se la configurazione di beam è impostata nella pagina di configurazione dell'applicazione Managed Service for Apache Flink, puoi aggiungere una nuova coppia di valori chiave per impostare shutdpwn come segue: SourcesAfteridleMs
-
Opzione 2: se la configurazione di beam è impostata nel file JAR, puoi impostare lo SourcesAfterIdleMs shutdown come segue:
FlinkPipelineOptions options = PipelineOptionsFactory.create().as(FlinkPipelineOptions.class); // Initialize Beam Options object options.setShutdownSourcesAfterIdleMs(Long.MAX_VALUE); // set shutdownSourcesAfterIdleMs to Long.MAX_VALUE options.setRunner(FlinkRunner.class); Pipeline p = Pipeline.create(options); // attach specified options to Beam pipeline