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.
Fallo en el punto de control de la aplicación Apache Beam
Si tu aplicación Beam está configurada con el apagado SourcesAfterIdleMs
Síntoma
Vaya a los CloudWatch registros de aplicaciones de su servicio gestionado para Apache Flink y compruebe si se ha registrado el siguiente mensaje de registro. El siguiente mensaje de registro indica que el punto de control no se pudo activar porque algunas tareas estaban terminadas.
{ "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" }
También se puede encontrar en el panel de control de Flink, donde algunas tareas han pasado al estado “FINALIZADO” y ya no es posible establecer puntos de control.
Causa
shutdown SourcesAfterIdleMs es una variable de configuración de Beam que apaga las fuentes que han estado inactivas durante el tiempo configurado de milisegundos. Una vez que se ha cerrado una fuente, establecer puntos de control ya no es posible. Esto podría provocar una falla en el punto de control
Una de las causas por las que las tareas entran en el estado «FINALIZADAS» es cuando el apagado SourcesAfterIdleMs está establecido en 0 ms, lo que significa que las tareas inactivas se apagarán inmediatamente.
Solución
Para evitar que las tareas pasen inmediatamente al estado «FINALIZADAS», establece el estado de apagado en SourcesAfterIdleMs Long.MAX _VALUE. Se puede hacer esto de dos formas:
-
Opción 1: Si la configuración de su haz está establecida en la página de configuración de la aplicación Managed Service for Apache Flink, puede añadir un nuevo par clave-valor para configurar SourcesAfteridleMs shutdpwn de la siguiente manera:
-
Opción 2: Si la configuración del haz está establecida en el archivo JAR, puedes configurar el apagado de la SourcesAfterIdleMs siguiente manera:
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