Beside checkpointing, you are also able to create a savepoint of your executed Flink jobs. Savepoints are not automatically created, so you need to trigger them in case of upgrade or maintenance. You can also resume your applications from savepoint.

You can set the default savepoint directory in flink-conf.yaml under state.savepoints.dir property.

The following command lines can be used to maintain savepoints:
Trigger savepoint $ bin/flink savepoint -m yarn-cluster -yid <yarnAppID> <jobId> [targetDirectory]
Cancel job with savepoint $ bin/flink cancel -m yarn-cluster -yid <yarnAppID> <jobId>
Resume from savepoint $ bin/flink run -m yarn-cluster -s <savepointPath> [runArgs]
Deleting savepoint $ bin/flink savepoint -m yarn-cluster -d <savepointPath>