Problemas con la aplicación - 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.

Problemas con la aplicación

Esta sección contiene soluciones para las condiciones de error que puede encontrar en su aplicación Managed Service para Apache Flink.

La aplicación está atascada en un estado transitorio

Si la aplicación permanece en un estado transitorio (STARTINGUPDATING,STOPPING, oAUTOSCALING), puede detenerla mediante la StopApplicationacción con el Force parámetro establecido en. true No puede forzar la detención de una aplicación en el estado DELETING. Como alternativa, si la aplicación está en el estado UPDATING o AUTOSCALING, puede revertirla a la versión anterior en ejecución. Cuando se revierte una aplicación, se cargan los datos de estado de la última instantánea correcta. Si la aplicación no tiene instantáneas, Managed Service para Apache Flink rechaza la solicitud de reversión. Para obtener más información sobre cómo anular una aplicación, consulte la RollbackApplicationacción.

nota

La detención forzosa de la aplicación puede provocar la pérdida o la duplicación de datos. Para evitar la pérdida de datos o el procesamiento duplicado de los datos durante los reinicios de la aplicación, le recomendamos que tome instantáneas frecuentes de la aplicación.

Algunas causas para las aplicaciones atascadas incluyen las siguientes:

  • El estado de la aplicación es demasiado grande: tener un estado de aplicación demasiado grande o demasiado persistente puede provocar que la aplicación se bloquee durante un punto de comprobación o una operación de captura de pantalla. Compruebe el lastCheckpointDuration de su aplicación y las métricas lastCheckpointSize para valores que aumentan de forma constante o valores anormalmente altos.

  • El código de la aplicación es demasiado grande: compruebe que el JAR archivo de la aplicación sea inferior a 512 MB. JARno se admiten archivos de más de 512 MB.

  • Falla la creación de la instantánea de la aplicación: Managed Service para Apache Flink toma una instantánea de la aplicación durante una solicitud de UpdateApplication o StopApplication. Luego, el servicio utiliza este estado de instantánea y restaura la aplicación con la configuración de la aplicación actualizada para proporcionar una semántica de procesamiento exactamente una vez. Si falla la creación automática de instantáneas, consulte La creación de la instantánea falla.

  • Falla la restauración a partir de una instantánea: si elimina o cambia un operador de una actualización de la aplicación e intenta realizar la restauración a partir de una instantánea, la restauración fallará de forma predeterminada si la instantánea contiene datos de estado del operador que falta. Además, la aplicación quedará bloqueada en el estado STOPPED o UPDATING. Para cambiar este comportamiento y permitir que la restauración se realice correctamente, cambie el AllowNonRestoredStateparámetro de la aplicación FlinkRunConfigurationatrue. Esto permitirá que la operación de reanudación omita los datos de estado que no se pueden asignar al nuevo programa.

  • La inicialización de la aplicación está tardando más tiempo: Managed Service para Apache Flink utiliza un tiempo de espera interno de 5 minutos (configuración predeterminada) mientras se espera a que se inicie un trabajo de Flink. Si su trabajo no puede comenzar dentro de este tiempo de espera, verá el siguiente CloudWatch registro:

    Flink job did not start within a total timeout of 5 minutes for application: %s under account: %s

    Si aparece el error anterior, significa que las operaciones definidas en el método del trabajo de Flink main están tardando más de 5 minutos, lo que provoca que se agote el tiempo de espera para la creación del trabajo de Flink en el extremo de Managed Service para Apache Flink. Te sugerimos que consultes los JobManagerregistros de Flink y el código de tu aplicación para comprobar si se espera este retraso en el main método. De lo contrario, debe tomar medidas para solucionar el problema de modo que se complete en menos de 5 minutos.

Puede comprobar el estado de su aplicación mediante ListApplications o las acciones de DescribeApplication.

La creación de la instantánea falla

El servicio Managed Service para Apache Flink no puede tomar una instantánea en las siguientes circunstancias:

  • La aplicación ha superado el límite de instantáneas. El límite de instantáneas es 1000. Para obtener más información, consulte Gestione las copias de seguridad de las aplicaciones mediante instantáneas.

  • La aplicación no tiene permisos para acceder a su fuente o receptor.

  • El código de la aplicación no funciona correctamente.

  • La aplicación tiene otros problemas de configuración.

Si se produce una excepción al tomar una instantánea durante una actualización de la aplicación o al detener la aplicación, defina la propiedad SnapshotsEnabled de la aplicación ApplicationSnapshotConfiguration a false y vuelva a intentar la solicitud.

Las instantáneas pueden fallar si los operadores de la aplicación no están debidamente aprovisionados. Para obtener información sobre cómo ajustar el rendimiento de los operadores, consulte Escalado de operadores.

Una vez que la aplicación vuelva a su estado correcto, se recomienda establecer la propiedad de SnapshotsEnabled de la aplicación en true.

No se puede acceder a los recursos de un VPC

Si tu aplicación utiliza una VPC ejecución en AmazonVPC, haz lo siguiente para comprobar que la aplicación tiene acceso a sus recursos:

  • Comprueba tus CloudWatch registros para ver si hay el siguiente error. Este error indica que la aplicación no puede acceder a los recursos de suVPC:

    org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

    Si ve este error, compruebe que las tablas de enrutamiento estén configuradas correctamente y que los conectores tengan la configuración de conexión correcta.

    Para obtener información sobre la configuración y el análisis de CloudWatch los registros, consulteRegistro y supervisión en Amazon Managed Service para Apache Flink.

Los datos se pierden al escribir en un bucket de Amazon S3

Es posible que se produzcan algunas pérdidas de datos al escribir la salida en un bucket de Amazon S3 con Apache Flink versión 1.6.2. Recomendamos utilizar la última versión compatible de Apache Flink cuando utilice Amazon S3 para la salida directa. Para escribir en un bucket de Amazon S3 con Apache Flink 1.6.2, recomendamos usar Firehose. Para obtener más información sobre el uso de Firehose con Managed Service para Apache Flink, consulte. Fregadero Firehose

La aplicación está en ese RUNNING estado, pero no está procesando datos

Puede comprobar el estado de su aplicación mediante ListApplications o las acciones de DescribeApplication. Si tu aplicación introduce el RUNNING estado pero no escribe datos en tu receptor, puedes solucionar el problema añadiendo un CloudWatch registro de Amazon a tu aplicación. Para obtener más información, consulte Trabaje con las opciones de CloudWatch registro de aplicaciones. El flujo de registro contiene mensajes que pueden ayudarlo a solucionar cualquier problema con la aplicación.

Error de instantánea, actualización de la aplicación o parada de la aplicación: InvalidApplicationConfigurationException

Puede producirse un error similar al siguiente durante una operación de instantánea o durante una operación que crea una instantánea, como la actualización o la detención de una aplicación:

An error occurred (InvalidApplicationConfigurationException) when calling the UpdateApplication operation: Failed to take snapshot for the application xxxx at this moment. The application is currently experiencing downtime. Please check the application's CloudWatch metrics or CloudWatch logs for any possible errors and retry the request. You can also retry the request after disabling the snapshots in the Managed Service for Apache Flink console or by updating the ApplicationSnapshotConfiguration through the AWS SDK

Este error se produce cuando la aplicación no puede crear una instantánea.

Si encuentra este error durante una operación de captura de pantalla o una operación que crea una instantánea, haga lo siguiente:

  • Deshabilite las instantáneas para su aplicación. Puede hacerlo en la consola de Managed Service for Apache Flink o mediante el SnapshotsEnabledUpdate parámetro de la UpdateApplicationacción.

  • Investigue por qué no se pueden crear instantáneas. Para obtener más información, consulte La aplicación está atascada en un estado transitorio.

  • Vuelva a activar las instantáneas cuando la aplicación vuelva a estar en buen estado.

java.nio.file. NoSuchFileException: /usr/local/openjdk-8/lib/security/cacerts

La ubicación del almacén de confianza se actualizó en una implementación anterior. SSL Utilice los siguientes valores para el parámetro ssl.truststore.location en su lugar:

/usr/lib/jvm/java-11-amazon-corretto/lib/security/cacerts