DataFlow Manager:DataFlow Manager(DFM)是一個NiFi用戶,具有添加眶诈,移除和修改NiFi數(shù)據(jù)流組件的權(quán)限。
FlowFile:FlowFile代表NiFi中的一個單一數(shù)據(jù)。 FlowFile由兩個組件組成:FlowFile屬性和FlowFile內(nèi)容拇泣。 內(nèi)容是由FlowFile表示的數(shù)據(jù)铐料。 屬性是提供關(guān)于數(shù)據(jù)的信息或上下文的特性; 它們由鍵值對組成渐裂。 所有FlowFiles都具有以下標(biāo)準(zhǔn)屬性:
uuid:FlowFile的唯一標(biāo)識
filename:將數(shù)據(jù)存儲到磁盤或外部服務(wù)時可以使用的可讀文件名
path:在將數(shù)據(jù)存儲到磁盤或外部服務(wù)時可以使用的分層結(jié)構(gòu)化值,以便數(shù)據(jù)不會存儲在單個目錄中
Processor:處理器是用于監(jiān)聽傳入數(shù)據(jù)的NiFi組件; 從外部來源提取數(shù)據(jù); 發(fā)布數(shù)據(jù)到外部來源; 并從FlowFiles中路由钠惩,轉(zhuǎn)換或提取信息柒凉。
Relationship:每個處理器具有零個或多個為其定義的關(guān)系。 這些關(guān)系被命名以表示處理FlowFile的結(jié)果篓跛。 處理器處理完FlowFile之后膝捞,它會將FlowFile路由(或“傳送”)到其中一個關(guān)系。 然后愧沟,DFM能夠?qū)⑦@些關(guān)系中的每一個連接到其他組件蔬咬,以便指定在每個可能的處理結(jié)果下,F(xiàn)lowFile下一步應(yīng)該流到哪里沐寺。
Connection:DFM通過將組件從NiFi工具欄的組件部分拖到畫布上林艘,然后通過連接將組件連接在一起,從而創(chuàng)建自動數(shù)據(jù)流混坞。每個連接由一個或多個關(guān)系組成狐援。 對于繪制的每個連接,DFM可以確定哪些關(guān)系應(yīng)該用于連接究孕。 這允許數(shù)據(jù)根據(jù)處理結(jié)果以不同的方式進(jìn)行路由啥酱。 每個連接都有一個FlowFile隊列。 當(dāng)FlowFile被轉(zhuǎn)移到特定的關(guān)系時厨诸,它被添加到屬于關(guān)聯(lián)連接的隊列中镶殷。
Controller Service:控制器服務(wù)是在用戶界面中由DFM添加和配置之后,當(dāng)NiFi啟動并提供供其他組件(例如處理器或其他控制器服務(wù))使用的信息時啟動的擴展點微酬。 StandardSSLContextService是由幾個組件使用的公共控制器服務(wù)绘趋。 它提供了一次性配置密鑰庫和/或信任庫屬性并在整個應(yīng)用程序中重新使用該配置的能力颤陶。 這個想法是,控制器服務(wù)不是在每個可能需要它的處理器中配置埋心,而是根據(jù)需要提供給任何處理器指郁。
Reporting Task:報告任務(wù)在后臺運行,提供關(guān)于NiFi實例中發(fā)生的事件的統(tǒng)計報告拷呆。 DFM根據(jù)需要在用戶界面中添加和配置報告任務(wù)闲坎。 常見的報告任務(wù)包括ControllerStatusReportingTask,MonitorDiskUsage報告任務(wù)茬斧,MonitorMemory報告任務(wù)和StandardGangliaReporter腰懂。
Funnel:漏斗是一個NiFi組件,用于將來自多個連接的數(shù)據(jù)合并到單個連接中项秉。
Process Group:當(dāng)數(shù)據(jù)流變得復(fù)雜時绣溜,以更高,更抽象的級別劃分?jǐn)?shù)據(jù)流通常是有益的娄蔼。 NiFi允許多個組件(如處理器)一起組成一個進(jìn)程組怖喻。 NiFi用戶界面使得DFM可以輕松地將多個進(jìn)程組連接在一個邏輯數(shù)據(jù)流中,并允許DFM進(jìn)入一個進(jìn)程組岁诉,以便查看和處理進(jìn)程組內(nèi)的組件锚沸。
Port:使用一個或多個進(jìn)程組構(gòu)建的數(shù)據(jù)流需要將進(jìn)程組連接到其他數(shù)據(jù)流組件的方法, 這是通過使用端口來實現(xiàn)的涕癣。 DFM可以將任意數(shù)量的輸入端口和輸出端口添加到進(jìn)程組哗蜈,并適當(dāng)命名這些端口。
Remote Process Group:正如數(shù)據(jù)傳入和傳出過程組一樣坠韩,有時需要將數(shù)據(jù)從一個NiFi實例傳輸?shù)搅硪粋€實例距潘。 雖然NiFi為從一個系統(tǒng)向另一個系統(tǒng)傳輸數(shù)據(jù)提供了許多不同的機制,但如果將數(shù)據(jù)傳輸?shù)搅硪粋€NiFi實例只搁,遠(yuǎn)程過程組通常是最簡單的方法音比。
Bulletin:NiFi用戶界面提供了有關(guān)應(yīng)用程序當(dāng)前狀態(tài)的監(jiān)視和反饋。 除了滾動統(tǒng)計數(shù)據(jù)和為每個組件提供的當(dāng)前狀態(tài)之外氢惋,組件還能夠報告公告硅确。 只要組件報告了公告,公告圖標(biāo)就會顯示在該組件上明肮。 系統(tǒng)級公告顯示在頁面頂部附近的狀態(tài)欄中。 使用鼠標(biāo)懸停在該圖標(biāo)上將提供一個工具提示缭付,顯示公告的時間和嚴(yán)重程度(調(diào)試柿估,信息,警告陷猫,錯誤)以及公告的消息秫舌。 所有組件的公告也可以在全局菜單中的公告欄頁面中查看和過濾的妖。
Template:通常情況下,數(shù)據(jù)流由許多可重用的子流組成足陨。 NiFi允許DFM選擇一部分?jǐn)?shù)據(jù)流(或整個數(shù)據(jù)流)并創(chuàng)建一個模板嫂粟。 這個模板被賦予一個名字,然后可以像其他組件一樣拖到畫布上墨缘。 因此星虹,可以將多個組件組合在一起以構(gòu)建更大的構(gòu)建塊,從而創(chuàng)建數(shù)據(jù)流镊讼。 這些模板也可以導(dǎo)出為XML并導(dǎo)入到另一個NiFi實例中宽涌。
flow.xml.gz:DFM放在NiFi用戶界面畫布上的所有內(nèi)容都被實時寫入到一個名為flow.xml.gz的文件中。該文件默認(rèn)位于nifi / conf目錄中蝶棋。在畫布上進(jìn)行的任何更改都會自動保存到該文件中卸亮,用戶無需點擊“保存”按鈕。另外玩裙,NiFi在更新時自動在歸檔目錄中創(chuàng)建該文件的備份副本兼贸。您可以使用這些歸檔文件來回滾流配置。為此吃溅,請停止NiFi溶诞,用所需的備份副本替換flow.xml.gz,然后重新啟動NiFi罕偎。在集群環(huán)境中很澄,停止整個NiFi集群,替換其中一個節(jié)點的flow.xml.gz颜及,然后重新啟動這個節(jié)點甩苛,從其他節(jié)點中刪除flow.xml.gz。一旦確認(rèn)節(jié)點啟動為單節(jié)點群集俏站,請啟動其他節(jié)點讯蒲。替換的流配置將在整個集群中同步。 flow.xml.gz的名稱和位置以及自動歸檔行為是可配置的肄扎。有關(guān)詳細(xì)信息墨林,請參見“System Administrator’s Guide”。