2017-05-03 3 views
1

Ich arbeite an NiFi, in denen ich Prozessoren wie List, Fetch und andere verwendet habe. Der Listen-Datei-Prozessor listet die Datei auf, wenn neue Dateien in dem erwähnten Verzeichnissystem ankommen. Bis jetzt habe ich die Verarbeitung von ein Jahr Datenfiles durchgeführt, die vom Jahr Januar 2016 bis zum Datum ist.Wie behält NIFI Listfile seinen Zeitstempel?

Jetzt möchte ich die Datei flow.xml in die neue Umgebung exportieren und die Verarbeitung fortsetzen. Wenn ich den Listenprozessor starte, beginnt er von Anfang an, also im Januar 2016. Gibt es sowieso den Listing-Prozessor dort fortzusetzen, wo er in der vorherigen Umgebung die Verarbeitung verlassen hat.

<local-provider> 
     <id>local-provider</id> 
     <class>org.apache.nifi.controller.state.providers.local.WriteAheadLocalStateProvider</class> 
     <property name="Directory">./state/local</property> 
     <property name="Always Sync">false</property> 
     <property name="Partitions">16</property> 
     <property name="Checkpoint Interval">2 mins</property> 
    </local-provider> 

Sie können sehen, dass die Lage auf dem Datenträger in ./state/local ist:

+1

Betreiben Sie einen Cluster oder Standalone NiFi? –

+0

standalone NiFi –

Antwort

2

In einem eigenständigen Nifi Beispiel wird der Zustand durch den lokalen staatlichen Anbieter in staatlich management.xml konfigurierte gespeichert werden Sie müssten also diese Verzeichnisstruktur und alles darunter an den gleichen Ort auf der anderen NiFi-Instanz kopieren.

Dies funktioniert auch nur, wenn Sie die Datei flow.xml.gz von einer Instanz zur anderen kopieren, da der Status basierend auf der UUID der Komponente gespeichert wird. Daher müssen die UUIDs gleich bleiben. Wenn Sie Vorlagen verwenden, um den Fluss zu verschieben, erhalten Sie neue UUIDs, und der Status wird nicht ausgerichtet.

+0

danke Bryan. Müssen wir alle Partition Ordner unter dem ./state/local Speicherort kopieren? –

+0

@natarajank ja, Sie müssten alle Partition Ordner kopieren, alles unter state/local –

+0

Danke, es funktioniert. –