Apache NiFi bemutató: Mi az a NiFi? Architecture & Installation
Apache NiFi oktatóanyag összefoglalója
Ez az apache NiFi oktatóanyag a semmiből lefedi az összes alapvető és haladó témát. Megtanulja az olyan fogalmakat, mint a NiFi definíciója, története, architektúrája, jellemzői, telepítési folyamata, használati esetei. Azt is megtudhatja, hogy miért kell az apache NiFi-t használni, és megtudhatja az apache NiFi futtatásának legjobb gyakorlatait.
Mi az Apache NiFi?
Apache NiFi egy nyílt forráskódú szoftver a rendszerek közötti adatáramlás automatizálására és kezelésére. Ez egy hatékony és megbízható rendszer az adatok feldolgozására és terjesztésére. Webalapú felhasználói felületet biztosít az adatfolyamok létrehozásához, figyeléséhez és vezérléséhez. Rendelkezik egy nagymértékben konfigurálható és módosítható adatfolyam-folyamattal az adatok futás közbeni módosításához.
Az Apache NiFi egyszerűen bővíthető egyedi komponensek fejlesztésével.
Miért érdemes Apache NIfi-t használni?
Íme az Apache Nifi használatának okai:
- Lehetővé teszi az adatfeldolgozást, hogy adatokat vonjon be a NiFi-be, számos adatforrásból, és folyamatfájlokat hozzon létre
- Valós idejű vezérlést kínál, amely segít kezelni az adatok mozgását bármely forrás és cél között
- Vizualizálja a DataFlow-t vállalati szinten
- Biztosítson közös szerszámokat és bővítményeket
- Lehetővé teszi, hogy kihasználja a meglévő könyvtárak és Java ökoszisztéma funkcionalitása
- Segít a szervezeteknek integrálni a Nifi-t meglévő infrastruktúrájukkal
- A NiFi-t úgy tervezték, hogy a fürtökben skálázható legyen, amelyek garantált adattovábbítást kínálnak
- Vizualizálja és figyelje a teljesítményt és a viselkedést egy folyamatközleményben, amely betekintést és beépített dokumentációt kínál
- Segíti az összetevők külön-külön vagy csoportszintű indítását és leállítását
- Segít meghallgatni, lekérni, felosztani, összesíteni, irányítani, átalakítani és áthúzni az adatfolyamot
Az Apache NiFi története
- Az NSA-nál több mint nyolc évig fejlesztették
- 2014- Az Apache szoftvernek adományozták Foundation
- 2015 – A NiFi az Apache Project Suite hivatalos részévé vált
- Azóta 6-8 hetente az Apache NiFi új frissítést ad ki
NiFi Architectúra
Az Apache NiFi jól átgondolt architektúrával rendelkezik. A külső forrásokból származó adatok lekérése után FlowFile-ként jelennek meg az Apache NiFi architektúrán belül.
Íme a NiFi architektúra kulcsfontosságú összetevői
Nifi komponens | Leírás |
---|---|
FlowFile | A FlowFile eredeti adat metainformációkkal. Nemcsak CSV vagy más rekord alapú adatok feldolgozását teszi lehetővé, hanem képeket, videókat, hangot vagy bármilyen más bináris adatot is. |
Flowfile processzor | Elvégzi azt a munkát, amely az adatáramlás építőköveként működik a NiFi-ben. |
Áramlásszabályozó | Nyilvántartást vezet a folyamatok összekapcsolásáról. Kezeli az összes folyamat által használt szálakat és allokációikat. |
web szerver | A webszerver a NiFi HTTP-alapú parancsait és API-ját tartalmazza. |
Kiterjesztés | Számos NiFi-bővítmény létezik, amelyek a JVM-en belül működnek és futnak. |
csatlakozás | Kapcsolatként működik a sort tartalmazó processzorok és a kapcsolat(ok) között, amely befolyásolja az adatok továbbítását. |
Ellennyomás | A sorban tárolható folyamatfájlok mennyiségének vagy adatméretének szabályozásával akadályozza meg a rendszer túlterheltségét. |
Folyamat csoport | A folyamatcsoport folyamatok és kapcsolataik összessége, amely portok segítségével fogad és küld adatokat. |
Flowfile Repository | A FlowFile Repository-ban a NiFi nyomon követi, hogy milyen adatokkal rendelkezik az adott folyamatban aktív FlowFile-ról. |
Tartalomtár | A Content Repository egy olyan terület, ahol az adott FlowFile tényleges tartalombájtjai léteznek. |
Származási Adattár | A származási adattár egy olyan terület, ahol minden származási esemény adatot összegyűjtenek. |
Apache NiFi funkciók
- A NiFi támogatja az összes sorban álló adat pufferelését, és ellennyomást biztosít, mivel ezek a sorok elérhetik a meghatározott határokat
- A NiFi lehetővé teszi egy vagy több prioritási séma beállítását
- Számos adatforráshoz biztosít csatlakozási processzorokat
- Támogatja az összes működő eszközt Java
- Ideális korlátozott csatlakozási lehetőséggel rendelkező helyekhez
- Támogatás a hibaelhárításhoz és az áramlásoptimalizáláshoz
- Szerepalapú hitelesítést/engedélyezést kínál
- Lehetővé teszi az egyes fájlok letöltését, helyreállítását és visszajátszását
- Építse fel processzorait, vezérlőszolgáltatásait és még sok mást
- Biztosítsa a tartalom titkosítását, a kommunikációt biztonságos protokollokon keresztül
- Gyors fejlesztést és hatékony tesztelést tesz lehetővé
- Lehetővé teszi egyszerű egyfunkciós komponensek fejlesztését, amelyek újrafelhasználhatók és kombinálhatók összetettebb áramlások létrehozásához
- Lehetővé teszi az osztálybetöltő elkülönítését a függőségek könnyebb kezelése érdekében
Az Apache NiFi telepítése
Az alábbiakban lépésről lépésre bemutatjuk az Apache NiFi telepítésének folyamatát
Step 1) Ugrás a kapcsolat,
és kattintson a „Tovább a feliratkozásra” gombra
Step 2) A következő oldalon
Kattintson a „Feltételek elfogadása” gombra
Step 3) Látni fogja ezt az oldalt,
Köszönjük, hogy feliratkozott erre a termékre! Kérelmét feldolgozzuk.
Step 4) Frissítse az oldalt 5 perc múlva.
Kattintson a „Tovább a konfigurációhoz” gombra
Step 5) A következő oldalon
Tartsa meg az alapértelmezett beállításokat, és kattintson a „Tovább az indításhoz” gombra.
Step 6) A következő oldalon
Kattintson az Indítás gombra. Lehet, hogy kulcsot kell létrehoznia
Step 7) Látni fogja ezt a sikerüzenetet.
Gratulálok! Ennek a szoftvernek egy példánya sikeresen telepítve van az EC2-n!
Step 8) Jegyzet,
Az EC2 példány példányazonosítója és nyilvános DNS-e
Step 9) A biztonsági csoportban
Adja hozzá az összes forgalmi szabályt a bejövő és a kimenőhöz
Step 10) A Nifi eléréséhez
egyszerűen használja az URL-t
http://publicdns:8080/nifi
A mi esetünkben azzá válik
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
használó:admin
Jelszó: Példányazonosító
Step 11) Meglátod,
NiFi kezdőképernyő
Nifi használati esetek
Az alábbiakban felsoroljuk az Apache NiFi használati eseteit:
Ipar | Használat |
---|---|
Biztosítás |
|
Egészségügy |
|
Távközlés |
|
Gyártás |
|
Olaj- és gázipar |
|
Pénzügyi szolgáltatások |
|
Bevált gyakorlatok Apache NiFi futtatása
- Ideális a tesztelési/fejlesztői/gyártási környezetek szétválasztására NiFi-ben
- A folyamatot folyamatcsoportokra kell bontania
- Használjon elnevezési konvenciót, használjon megjegyzéseket és címkéket
- Szervezze projektjeit három részre: feldolgozás, tesztelés és megfigyelés
- Használjon egyedi neveket a változókhoz
A Nifi hátránya
- Pontos biztonsági és megfelelőségi ellenőrzésekre van szükség
- Az Apache NiFi-vel végzett munka során nagyon jól ismernie kell a mögöttes rendszert
- Fenn kell tartania az adatok felügyeleti láncát
- Előfordulhat, hogy a szállítás/üzenetküldés nem elég
- Az adathozzáférési igény meghaladja a szállításhoz rendelkezésre álló erőforrásokat
- Nem minden adat egyformán jön létre
- Előfordulhat, hogy az SSL és témaszintű engedélyezés nem elegendő
Összegzésként
- Az Apache NiFi egy nyílt forráskódú szoftver a rendszerek közötti adatáramlás automatizálására és kezelésére
- A NiFi-t úgy tervezték, hogy a fürtökben skálázható legyen, amelyek garantált adattovábbítást kínálnak
- A Nifi-t több mint nyolc évig fejlesztették az NSA-nál
- A külső forrásokból származó adatok lekérése után FlowFile-ként jelennek meg az Apache NiFi architektúrán belül.
- A FlowFile, a processzor, a vezérlő, a webszerver, a kapcsolat, az ellennyomás, a repository a NiFi architektúra fontos összetevői
- A NiFi kifejezési nyelv minden futó eszközt támogat Java
- Könnyedén telepítheti a NiFi-t az AWS-re
- A NiFi-t különféle iparágakban használják, például egészségügyben, biztosításban, távközlésben, gyártásban, pénzügyekben, olajban és gázban.
- A legjobb gyakorlat szerint projektjeit három részre szervezheti: feldolgozás, tesztelés és megfigyelés