Atualize seu aplicativo para uma nova versão do Apache Flink - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atualize seu aplicativo para uma nova versão do Apache Flink

Você pode atualizar seu aplicativo Flink usando a UpdateApplicationação.

Você pode chamar o UpdateApplication API de várias maneiras:

  • Use o fluxo de trabalho de configuração existente no AWS Management Console.

    • Acesse a página do seu aplicativo no AWS Management Console.

    • Selecione Configurar.

    • Selecione o novo tempo de execução e o snapshot a partir do qual você deseja começar, também conhecido como configuração de restauração. Use a configuração mais recente como configuração de restauração para iniciar o aplicativo a partir do instantâneo mais recente. Aponte para o novo aplicativo atualizado JAR /zip no Amazon S3.

  • Use a ação AWS CLI de atualização do aplicativo.

  • Uso AWS CloudFormation (CFN).

    • Atualize o RuntimeEnvironmentcampo. Anteriormente, AWS CloudFormation excluía o aplicativo e criava um novo, fazendo com que seus instantâneos e outros históricos do aplicativo fossem perdidos. Agora AWS CloudFormation atualiza seu RuntimeEnvironment local e não exclui seu aplicativo.

  • Use AWS SDK o.

    • Consulte a SDK documentação da linguagem de programação de sua escolha. Veja UpdateApplication.

Você pode realizar a atualização enquanto o aplicativo estiver no RUNNING estado ou enquanto o aplicativo estiver parado no READY estado. O Amazon Managed Service para Apache Flink valida para verificar a compatibilidade entre a versão original do tempo de execução e a versão do tempo de execução de destino. Essa verificação de compatibilidade é executada quando você executa UpdateApplicationenquanto está no RUNNING estado ou na próxima, StartApplicationse você atualiza enquanto está no READY estado.

O exemplo a seguir mostra a atualização de um aplicativo no RUNNING estado chamado UpgradeTest Flink 1.18 no Leste dos EUA (Norte da Virgínia) usando AWS CLI e iniciando o aplicativo atualizado a partir do snapshot mais recente.

aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --run-configuration-update '{"ApplicationRestoreConfiguration": '\ '{"ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT"}}' \ --current-application-version-id ${current_application_version}
  • Se você habilitou os instantâneos do serviço e deseja continuar o aplicativo a partir do snapshot mais recente, o Amazon Managed Service para Apache Flink verifica se o tempo de execução do RUNNING aplicativo atual é compatível com o tempo de execução de destino selecionado.

  • Se você especificou um snapshot a partir do qual continuar o tempo de execução de destino, o Amazon Managed Service para Apache Flink verifica se o tempo de execução de destino é compatível com o snapshot especificado. Se a verificação de compatibilidade falhar, sua solicitação de atualização será rejeitada e seu aplicativo permanecerá inalterado no RUNNING estado.

  • Se você optar por iniciar seu aplicativo sem um snapshot, o Amazon Managed Service para Apache Flink não executará nenhuma verificação de compatibilidade.

  • Se o aplicativo atualizado falhar ou ficar preso em um UPDATING estado transitivo, siga as instruções na Reverter atualizações de aplicativos seção para retornar ao estado íntegro.

Fluxo de processo para execução de aplicativos de estado

O diagrama a seguir representa o fluxo de trabalho recomendado para atualizar o aplicativo durante a execução. Presumimos que o aplicativo tenha estado e que você tenha ativado os instantâneos. Para esse fluxo de trabalho, na atualização, você restaura o aplicativo a partir do snapshot mais recente que foi automaticamente obtido pelo Amazon Managed Service para o Apache Flink antes da atualização.

O exemplo a seguir mostra a atualização de um aplicativo no READY estado chamado UpgradeTest Flink 1.18 no Leste dos EUA (Norte da Virgínia) usando o. AWS CLI Não há um instantâneo especificado para iniciar o aplicativo porque o aplicativo não está em execução. Você pode especificar um instantâneo ao emitir a solicitação inicial do aplicativo.

aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --current-application-version-id ${current_application_version}
  • Você pode atualizar o tempo de execução de seus aplicativos em READY estado para qualquer versão do Flink. O Amazon Managed Service para Apache Flink não executa nenhuma verificação até você iniciar seu aplicativo.

  • O Amazon Managed Service para Apache Flink só executa verificações de compatibilidade com o snapshot que você selecionou para iniciar o aplicativo. Essas são verificações básicas de compatibilidade de acordo com a Tabela de Compatibilidade do Flink. Eles verificam apenas a versão do Flink com a qual o instantâneo foi tirado e a versão do Flink que você está almejando. Se o tempo de execução do Flink do snapshot selecionado for incompatível com o novo tempo de execução do aplicativo, a solicitação inicial poderá ser rejeitada.

Fluxo de processo para aplicativos de estado pronto

O diagrama a seguir representa o fluxo de trabalho recomendado para atualizar o aplicativo enquanto estiver pronto. Presumimos que o aplicativo tenha estado e que você tenha ativado os instantâneos. Para esse fluxo de trabalho, na atualização, você restaura o aplicativo a partir do snapshot mais recente que foi automaticamente obtido pelo Amazon Managed Service para o Apache Flink quando o aplicativo foi interrompido.