Esegui un servizio di streaming con stato con Apache Flink e RocksDB

Blog

Cos'è Flink?

Apache Flink è una piattaforma di sistema distribuito open source che esegue l'elaborazione dei dati in modalità stream e batch. Essendo un sistema distribuito, Flink fornisce la tolleranza agli errori per i flussi di dati.



Che cos'è il servizio di streaming con stato?

Per rendere la nostra piattaforma di tolleranza ai guasti, vogliamo preservare lo stato del sistema di volta in volta. Raggiungere la tolleranza agli errori significa essere in grado di non perdere alcun dato quando uno o più nodi della rete si interrompono.

In che modo Flink diventa stateful?

Flink ha tre opzioni per un backend stateful e una di queste include RocksDB. Tuttavia, solo RocksDB può fornire checkpoint incrementali in Flink. In questo post del blog, esamineremo un esempio standard di implementazione di Flink con il backend RocksDB per avere checkpoint incrementali.



# Sommario:

  1. Installa Flink
  2. Modifiche alla configurazione
  3. Esecuzione dell'esempio
  4. Controllo delle istantanee

Installa Flink

Clic qui per andare alla documentazione ufficiale per installare Flink.

Modifiche alla configurazione

In Mac, apri il file di configurazione con il seguente percorso:



/usr/local/Cellar/apache-flink/1.10.1/libexec/conf/flink-conf.yaml

Nel caso in cui hai estratto il binario, cerca il percorso relativo nella cartella estratta:

cd flink-1.10.0 nano conf/flink-conf.yaml

La versione, |_+_| potrebbe essere diverso nel tuo sistema, quindi prenditene cura.

In questo file, apporta due modifiche:

Impostazione di RocksDB come backend di stato:

Cerca |_+_| e impostalo su: |_+_|

Impostazione della directory per i checkpoint

Cerca |_+_| e impostalo sul percorso desiderato. Ad esempio, questa è la mia configurazione:

1.10.1

|_+_| non funzionerà a meno che non installi la dipendenza Hadoop per Flink. Quindi, mantenendolo minimo, ho deciso di andare avanti con il normale filesystem.

#java #grande

medium.com

Esegui un servizio di streaming con stato con Apache Flink e RocksDB

Apache Flink è una piattaforma di sistema distribuito open source che esegue l'elaborazione dei dati in modalità stream e batch. Essendo un sistema distribuito, Flink fornisce la tolleranza agli errori per i flussi di dati.