4
votes

For example I uploaded JAR with my flow and run it through Apache Flink dashboard. Then I implemented some changes in flow and want to deploy them.

Can anybody explain me step-by-step how to deploy new version of my flow to Apache Flink cluster correctly (without downtime, loosing state, etc.)? I didn't find description of deploy process in official documentation.

1

1 Answers

6
votes

What you want to use is the savepoints in Flink.

The steps are as follows:

  • Prepare the new jar for your job
  • Save the state of the currently running job using flink savepoint <JobID>
  • Stop the job
  • Start the new jar using the just created savepoint flink run -s <pathToSavepoint> <jobJar> ...

See also: https://www.ververica.com/blog/how-apache-flink-enables-new-streaming-applications-part-1