Wir verwenden Dateisystem als Prüfpunktstatus-Backend. unsere Einstellung finden:Flink löschen alte Prüfpunktdatei
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setStreamTimeCharacteristic(timeCharacteristic);
env.getConfig().setAutoWatermarkInterval(Time.seconds(30).toMilliseconds());
env.enableCheckpointing(Time.seconds(30).toMilliseconds());
CheckpointConfig checkpointConfig = env.getCheckpointConfig();
checkpointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);
env.setStateBackend(new FsStateBackend(props.getProperty("backendstate.path")));
Dies funktioniert während der Entwicklung in Ordnung, aber sobald wir die Produktion bereitstellen, fanden wir heraus, dass die Checkpoint-Dateien schnell Speicherplatz fressen. Ich habe den Befehl ls einem der Checkpoint-Verzeichnis und finden, dass
chk-10 chk-104 chk-13 chk-18 chk-23 chk-28 chk-32 chk-37 chk-41 chk-46 chk-50 chk-55 chk-6 chk-64 chk-69 chk-73 chk-78 chk-82 chk-87 chk-91 chk-96 chk-100 ... hundreds of them
Ich frage mich, ob es einen Weg gibt, die älteren chk-x-Dateien zu löschen oder wir haben sie manuell entfernen?