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á.
Precauções e problemas conhecidos com atualizações de aplicativos
Limitações conhecidas da compatibilidade de estados
-
Se você estiver usando a TabelaAPI, o Apache Flink não garante a compatibilidade de estado entre as versões do Flink. Para obter mais informações, consulte Stateful Upgrades and Evolution na documentação
do Apache Flink. -
Os estados do Flink 1.6 não são compatíveis com o Flink 1.18. O API rejeita sua solicitação se você tentar atualizar da versão 1.6 para a versão 1.18 e posterior com o estado. Você pode atualizar para 1.8, 1.11, 1.13 e 1.15 e tirar um instantâneo e, em seguida, atualizar para 1.18 e versões posteriores. Para obter mais informações, consulte Atualizando aplicativos e versões do Flink na documentação
do Apache Flink.
Problemas conhecidos com o Flink Kinesis Connector
-
Se você estiver usando o Flink 1.11 ou anterior e usando o
amazon-kinesis-connector-flink
conector para suporte a E nhanced-fan-out (EFO), deverá tomar medidas adicionais para uma atualização contínua para o Flink 1.13 ou posterior. Isso ocorre devido à alteração no nome do pacote do conector. Para obter mais informações, consulte amazon-kinesis-connector-flink. O
amazon-kinesis-connector-flink
conector para Flink 1.11 e versões anteriores usa a embalagemsoftware.amazon.kinesis
, enquanto o conector Kinesis para Flink 1.13 e versões posteriores usa.org.apache.flink.streaming.connectors.kinesis
Use essa ferramenta para apoiar sua migração: amazon-kinesis-connector-flink-state-migrator. -
Se você estiver usando o Flink 1.13 ou anterior
FlinkKinesisProducer
e atualizando para o Flink 1.15 ou posterior, para uma atualização com estado, você deve continuar usando o Flink 1.15 ou posterior,FlinkKinesisProducer
em vez do mais novo.KinesisStreamsSink
No entanto, se você já tiver umuid
conjunto personalizado no coletor, poderá alternar paraFlinkKinesisProducer
eleKinesisStreamsSink
porque não mantém o estado. O Flink o tratará como o mesmo operador porque um personalizado foiuid
definido.
Aplicativos Flink escritos em Scala
-
A partir do Flink 1.15, o Apache Flink não inclui o Scala no tempo de execução. Você deve incluir a versão do Scala que deseja usar e outras dependências do Scala em seu código JAR /zip ao atualizar para o Flink 1.15 ou posterior. Para obter mais informações, consulte Amazon Managed Service for Apache Flink for Apache Flink versão 1.15.2.
-
Se seu aplicativo usa o Scala e você o está atualizando do Flink 1.11 ou anterior (Scala 2.11) para o Flink 1.13 (Scala 2.12), certifique-se de que seu código use o Scala 2.12. Caso contrário, seu aplicativo Flink 1.13 pode falhar em encontrar classes Scala 2.11 no tempo de execução do Flink 1.13.
Coisas a considerar ao fazer o downgrade do aplicativo Flink
-
O downgrade dos aplicativos Flink é possível, mas limitado aos casos em que o aplicativo estava sendo executado anteriormente com a versão mais antiga do Flink. Para uma atualização com estado, o Managed Service para Apache Flink exigirá o uso de um snapshot tirado com uma versão correspondente ou anterior para o downgrade.
-
Se você estiver atualizando seu tempo de execução do Flink 1.13 ou posterior para o Flink 1.11 ou anterior e se seu aplicativo usar o back-end de HashMap estado, seu aplicativo falhará continuamente.