2016-06-21 55 views
3

使用NiFi v0.6.1有沒有辦法導入備份/存檔?有沒有辦法在NiFi中導入備份?

備份是指使用REST API或「控制器設置」(工具欄按鈕)調用 POST /controller/archive,然後使用「備份流」(鏈接)時生成的文件。

我試着解壓縮備份並將其導入爲模板,但沒有奏效。但是,在將其與導出的模板文件進行比較之後,這些格式有相當大的差異。但也許有辦法將它轉換成模板?

目前,我目前的工作是不選擇頂級流程中的任何組件,然後選擇「創建模板」;這將爲我的所有組件添加一個模板。然後我只是出口。我的問題是通過REST API自動化會更棘手。我使用Fiddler來確定UI在做什麼,它首先生成一個包含所有組件(標籤,處理器,連接等)的片段。然後它使用片段ID調用創建模板(POST /nifi-api/contorller/templates)。所以模板調用很容易,但爲片段生成定義將需要一些工作。

注:在進行以下的功能要求實現我假設我只想用這來代替:

https://cwiki.apache.org/confluence/display/NIFI/Configuration+Management+of+Flows

回答

9

的NiFi實例的整個流程是存儲在一個名爲flow.xml文件。 gz在conf目錄中(集羣中的flow.xml.tar)。備份功能主要是在給定的時間點拍攝該文件的快照並將其保存到conf/archive目錄。在稍後的時間點,您可以停止NiFi,並用其中一個備份替換conf/flow.xml.gz,以將流量恢復到該狀態。

模板是與flow.xml.gz不同的格式。模板更公開並且可共享,可用於表示流的部分,或者在沒有選擇組件的情況下用於整個流。有些人使用模板作爲模型來部署他們的流程,基本上將他們的流程組織到流程組中併爲每個組製作模板。該項目提供了一些自動化與模板的工作:https://github.com/aperepel/nifi-api-deploy

3

你只需要停止NiFi,更換nifi的流程配置文件(例如,這可能是在conf目錄flow.xml.gz),並開始NiFi備份。

如果您在查找時遇到問題,請檢查nifi.properties文件中的字符串nifi.flow.configuration.file=,以瞭解您設置的內容。

如果您使用的是集羣模式,則只需在NCM上執行此操作。

相關問題