Agotamiento del tiempo para llegar al punto de control - 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.

Agotamiento del tiempo para llegar al punto de control

Si la aplicación no está optimizada o aprovisionada correctamente, los puntos de control pueden fallar. En esta sección se describen los síntomas y los pasos para solucionar esta condición.

Síntomas

Si los puntos de control de su aplicación fallan, numberOfFailedCheckpoints será mayor que cero.

Los puntos de control pueden fallar debido a errores directos, como errores de la aplicación, o debido a errores transitorios, como la falta de recursos de la aplicación. Compruebe los registros y las métricas de su aplicación para detectar los siguientes síntomas:

  • Errores en el código.

  • Errores al acceder a los servicios de dependientes de la aplicación.

  • Errores al serializar los datos. Si el serializador predeterminado no puede serializar los datos de la aplicación, la aplicación fallará. Para obtener información sobre el uso de un serializador personalizado en su aplicación, consulte Tipos de datos y serialización en la documentación de Apache Flink.

  • Errores de falta de memoria.

  • Aumentos repentinos o aumentos constantes en las siguientes métricas:

    • heapMemoryUtilization

    • oldGenerationGCTime

    • oldGenerationGCCount

    • lastCheckpointSize

    • lastCheckpointDuration

Para obtener más información sobre la supervisión de los puntos de control, consulte la sección Supervisión de los puntos de control en la documentación de Apache Flink.

Causas y soluciones

Los mensajes de error del registro de aplicaciones muestran la causa de las fallas directas. Los errores transitorios pueden tener las siguientes causas:

  • Su aplicación tiene un aprovisionamiento de KPU insuficiente. Para obtener información sobre cómo aumentar el aprovisionamiento de la aplicación, consulte Escalado.

  • El tamaño del estado de su aplicación es demasiado grande. Puede supervisar el tamaño del estado de la aplicación mediante la métrica lastCheckpointSize.

  • Los datos de estado de la aplicación se distribuyen de forma desigual entre las claves. Si su aplicación utiliza el operador KeyBy, asegúrese de que los datos entrantes se dividan equitativamente entre las claves. Si la mayoría de los datos se asignan a una sola clave, se crea un cuello de botella que provoca errores.

  • La aplicación está experimentando una resistencia en la memoria o en la recopilación de elementos no utilizados. Supervise los aumentos repentinos o valores que aumentan de forma constante de su aplicación en heapMemoryUtilization, oldGenerationGCTime, y oldGenerationGCCount.