Problemi relativi all'applicazione - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

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à.

Problemi relativi all'applicazione

Questa sezione contiene soluzioni per le situazioni di errore che possono verificarsi con il servizio gestito per l'applicazione Apache Flink.

L'applicazione è bloccata in uno stato transitorio

Se l'applicazione rimane in uno stato transitorio (STARTING,,UPDATING, oAUTOSCALING)STOPPING, è possibile interromperla utilizzando l'StopApplicationazione con il Force parametro impostato su. true Non è possibile forzare l'interruzione di un'applicazione che si trovi nello stato DELETING. In alternativa, se l'applicazione si trova nello stato UPDATING o AUTOSCALING, è possibile ripristinarla alla versione precedente. Quando si esegue il rollback di un'applicazione, vengono caricati i dati sullo stato dell'ultimo snapshot scattato con successo. Se l'applicazione non dispone di snapshot, il servizio gestito per Apache Flink rifiuta la richiesta di ripristino. Per ulteriori informazioni sul rollback di un'applicazione, vedi RollbackApplicationazione.

Nota

L'arresto forzato dell'applicazione può causare la perdita o la duplicazione dei dati. Consigliamo di scattare snapshot con frequenza, per evitare di perdere o duplicare i dati mentre l'applicazione viene riavviata.

Le applicazioni possono bloccarsi a causa delle seguenti ragioni:

  • Dimensioni eccessive dello stato dell'applicazione: se lo stato dell'applicazione è troppo grande o troppo ingombrante può causare il blocco dell'applicazione durante un'operazione di checkpoint o di snapshot. Controlla le metriche lastCheckpointDuration e lastCheckpointSize dell'applicazione, alla ricerca di valori in costante aumento o eccessivamente alti.

  • Il codice dell'applicazione è troppo grande: verificate che il JAR file dell'applicazione sia più piccolo di 512 MB. JARi file di dimensioni superiori a 512 MB non sono supportati.

  • Generazione di snapshot nell'applicazione non riuscita: il servizio gestito per Apache Flink scatta uno snapshot dell'applicazione nel corso di una richiesta UpdateApplication o StopApplication. In seguito, il servizio utilizza lo stato di snapshot e ripristina l'applicazione utilizzandone la configurazione aggiornata per fornire semantiche di elaborazione exactly-once. Se la creazione automatica di snapshot non riesce, consulta quanto La creazione di istantanee non riesce segue:

  • Ripristino da uno snapshot non riuscito: rimuovendo o modificando un operatore in un aggiornamento dell'applicazione e tentando il ripristino da uno snapshot, quest'ultimo avrà esito negativo per impostazione predefinita se l'istantanea contiene dati sullo stato dell'operatore mancante. Inoltre, l'applicazione rimarrà bloccata nello status STOPPED o UPDATING. Per modificare questo comportamento e consentire la corretta esecuzione del ripristino, modificate il AllowNonRestoredStateparametro dell'applicazione FlinkRunConfigurationintrue. Ciò consentirà all'operazione di ripristino di ignorare i dati sullo stato che non possono essere mappati al nuovo programma.

  • L'inizializzazione dell'applicazione richiede più tempo: servizio gestito per Apache Flink utilizza un timeout interno di 5 minuti (impostazione graduale) mentre attende l'avvio di un processo Flink. Se il processo non viene avviato entro questo timeout, verrà visualizzato un CloudWatch registro come segue:

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

    l'errore precedentemente descritto si verifica quando le operazioni definite nel metodo main del processo Flink impiegano più di 5 minuti, causando il timeout della creazione del processo Flink sul servizio gestito per Apache Flink. Ti consigliamo di controllare JobManageri log di Flink e il codice dell'applicazione per vedere se questo ritardo nel main metodo è previsto. In caso contrario, è necessario adottare misure per risolvere il problema, in modo che il procedimento richieda meno di 5 minuti.

Per controllare lo status dell'applicazione è sufficiente utilizzare le azioni ListApplications o DescribeApplication.

La creazione di istantanee non riesce

Il servizio gestito per Apache Flink non può scattare uno snapshot nelle seguenti circostanze:

  • l'applicazione ha superato il limite di snapshot; il limite è di mille unità. Per ulteriori informazioni, consulta Gestisci i backup delle applicazioni utilizzando le istantanee.

  • L'applicazione non dispone delle autorizzazioni per accedere alla fonte o al sink.

  • Il codice dell'applicazione non funziona correttamente.

  • L'applicazione presenta altri problemi di configurazione.

Se si verifica un'eccezione durante l'acquisizione di uno snapshot durante l'aggiornamento o l'arresto di un'applicazione, imposta la proprietà SnapshotsEnabled del ApplicationSnapshotConfiguration dell'applicazione su false e prova a eseguire nuovamente la richiesta.

Gli snapshot possono non andare a buon fine se gli operatori dell'applicazione non sono allocati correttamente. Per informazioni sull'ottimizzazione delle prestazioni degli operatori, consulta Dimensionamento degli operatori.

Dopo che l'applicazione è tornata a uno stato integro, si consiglia di impostare la proprietà SnapshotsEnabled dell'applicazione su true.

Impossibile accedere alle risorse in un VPC

Se la tua applicazione utilizza un'applicazione VPC in esecuzione su AmazonVPC, procedi come segue per verificare che l'applicazione abbia accesso alle sue risorse:

  • Controlla i CloudWatch log per verificare la presenza del seguente errore. Questo errore indica che l'applicazione non può accedere alle risorse di: VPC

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

    Se visualizzi questo errore, verifica che le tabelle di routing siano configurate correttamente e le impostazioni di connessione dei connettori siano corrette.

    Per informazioni sulla configurazione e l'analisi dei CloudWatch log, vedere. Registrazione e monitoraggio in Amazon Managed Service per Apache Flink

I dati vengono persi durante la scrittura su un bucket Amazon S3

Potrebbe verificarsi una perdita di dati nel corso della scrittura dell'output su un bucket Amazon S3 utilizzando la versione 1.6.2 di Apache Flink. Quando si usa Amazon S3 per l'output diretto è consigliabile utilizzare l'ultima versione supportata di Apache Flink. Per scrivere su un bucket Amazon S3 utilizzando Apache Flink 1.6.2, consigliamo di utilizzare Firehose. Per ulteriori informazioni sull'utilizzo di Firehose with Managed Service for Apache Flink, vedere. Lavello Firehose

L'applicazione è in RUNNING stato ma non sta elaborando dati

È possibile controllare lo stato dell'applicazione utilizzando le azioni ListApplications o DescribeApplication. Se la tua applicazione entra nello RUNNING stato ma non sta scrivendo dati sul tuo sink, puoi risolvere il problema aggiungendo un flusso di CloudWatch log Amazon alla tua applicazione. Per ulteriori informazioni, consulta Utilizzate le opzioni di CloudWatch registrazione delle applicazioni. Il flusso di log contiene messaggi che consentono di risolvere eventuali problemi relativi alle applicazioni.

Istantanea, aggiornamento dell'applicazione o errore di interruzione dell'applicazione: InvalidApplicationConfigurationException

Un errore di questo tipo potrebbe verificarsi nel corso di uno snapshot o un'operazione che ne crea uno, come l'aggiornamento o l'arresto di un'applicazione:

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

tale errore ha luogo, quindi, quando l'applicazione non è in grado di creare uno snapshot.

Ecco come procedere se l'errore si verifica mentre scatti uno snapshot o svolgi un'operazione che ne crea uno:

  • disattiva gli snapshot per l'applicazione; È possibile eseguire questa operazione nella console Managed Service for Apache Flink o utilizzando il SnapshotsEnabledUpdate parametro dell'azione. UpdateApplication

  • prova a comprendere perché è impossibile creare gli snapshot; Per ulteriori informazioni, consulta L'applicazione è bloccata in uno stato transitorio.

  • Quando l'applicazione torna a funzionare sarà possibile riattivare gli snapshot.

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

La posizione del truststore è stata aggiornata in una distribuzione precedente. SSL Per il parametro ssl.truststore.location sono invece da prediligere i seguenti parametri:

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