Samouczek Apache NiFi
Podsumowanie samouczka Apache NiFi
Ten samouczek Apache NiFi obejmuje wszystkie podstawowe i zaawansowane tematy od podstaw. Poznasz takie pojęcia jak definicja NiFi, historia, architektura, funkcje, proces instalacji, przypadki użycia. Dowiesz się również, dlaczego musisz używać Apache NiFi i najlepszych praktyk uruchamiania Apache NiFi.
Co to jest Apache NiFi?
Apache NiFi to oprogramowanie typu open source służące do automatyzacji i zarządzania przepływem danych pomiędzy systemami. Jest to wydajny i niezawodny system do przetwarzania i dystrybucji danych. Zapewnia internetowy interfejs użytkownika umożliwiający tworzenie, monitorowanie i kontrolowanie przepływów danych. Posiada wysoce konfigurowalny i modyfikowalny proces przepływu danych w celu modyfikowania danych w czasie wykonywania.
Apache NiFi można łatwo rozszerzyć poprzez opracowanie niestandardowych komponentów.
Dlaczego warto używać Apache NIfi?
Oto powody, dla których warto używać Apache Nifi:
- Umożliwia pozyskiwanie danych w celu pobierania danych z wielu źródeł danych do NiFi i tworzenia plików przepływu
- Oferuje kontrolę w czasie rzeczywistym, która pomaga zarządzać przepływem danych pomiędzy dowolnym źródłem i miejscem docelowym
- Wizualizuj DataFlow na poziomie przedsiębiorstwa
- Zapewnij wspólne narzędzia i rozszerzenia
- Umożliwia korzystanie z istniejących bibliotek i Java funkcjonalność ekosystemu
- Pomaga organizacjom zintegrować Nifi z istniejącą infrastrukturą
- Rozwiązanie NiFi zostało zaprojektowane z myślą o skalowaniu w klastrach, które gwarantują dostarczanie danych
- Wizualizuj i monitoruj wydajność i zachowanie w biuletynie przepływu, który zapewnia wgląd i dokumentację wbudowaną
- Pomaga uruchamiać i zatrzymywać komponenty oddzielnie lub na poziomie grupy
- Pomaga słuchać, pobierać, dzielić, agregować, kierować, przekształcać oraz przeciągać i upuszczać Dataflow
Historia Apache NiFi
- Opracowywany w NSA przez ponad osiem lat
- 2014 — Został przekazany firmie Apache Software Foundation
- 2015- NiFi stało się oficjalną częścią pakietu Apache Project Suite
- Od tego czasu co 6-8 tygodni Apache NiFi wydaje nową aktualizację
NiFi Architektura
Apache NiFi ma przemyślaną architekturę. Po pobraniu danych ze źródeł zewnętrznych są one reprezentowane jako FlowFile wewnątrz architektury Apache NiFi.
Oto kluczowe komponenty architektury NiFi
Komponent Nifi | Opisy Konstrukcyjne |
---|---|
Plik przepływu | FlowFile to oryginalne dane z dołączonymi metainformacjami. Umożliwia przetwarzanie nie tylko danych CSV lub innych danych opartych na rekordach, ale także zdjęć, filmów, dźwięku i innych danych binarnych. |
Procesor Flowfile | Wykonuje pracę stanowiącą element budulcowy przepływu danych w NiFi. |
Regulator przepływu | Rejestruje sposób, w jaki procesy są ze sobą powiązane. Zarządza wątkami i ich przydziałami, z których korzystają wszystkie procesy. |
web Server | Serwer internetowy obsługuje polecenia i interfejs API oparte na protokole HTTP firmy NiFi. |
Rozbudowa | Istnieje wiele typów rozszerzeń NiFi, które działają i są wykonywane w ramach JVM. |
Przyłącze | Działa jako połączenie między procesorami zawierającymi kolejkę i relacje, które wpływają na to, gdzie dane są kierowane. |
Ciśnienie zwrotne | Zatrzymaj przepełnienie systemu, kontrolując ilość lub rozmiar danych plików przepływowych, które można przechowywać w kolejce. |
Grupa Procesowa | Grupa procesów to zbiór procesów i ich połączeń, które odbierają i wysyłają dane za pomocą portów. |
Repozytorium Flowfile | W repozytorium FlowFile firma NiFi śledzi stan szczegółów, jakie posiada na temat danego pliku FlowFile aktywnego w przepływie. |
Repozytorium treści | Repozytorium treści to obszar, w którym znajdują się rzeczywiste bajty treści danego FlowFile. |
Repozytorium pochodzenia | Repozytorium pochodzenia to obszar, w którym gromadzone są wszystkie dane dotyczące zdarzeń pochodzenia. |
Funkcje Apache NiFi
- NiFi obsługuje buforowanie wszystkich danych w kolejce i oferuje możliwość wykonania nacisku wstecznego, ponieważ kolejki te mogą osiągnąć określone limity
- NiFi umożliwia ustawienie jednego lub więcej schematów priorytetyzacji
- Zapewnia procesory połączeń dla wielu źródeł danych
- Obsługuj każde działające urządzenie Java
- Idealny do miejsc o ograniczonej łączności
- Wsparcie w rozwiązywaniu problemów i optymalizacji przepływu
- Oferuje uwierzytelnianie/autoryzację opartą na rolach
- Umożliwia pobieranie, odzyskiwanie i odtwarzanie pojedynczych plików
- Twórz swoje procesory, usługi kontrolerów i nie tylko
- Zapewnij szyfrowanie treści i komunikację za pośrednictwem bezpiecznych protokołów
- Umożliwia szybki rozwój i efektywne testowanie
- Umożliwia tworzenie prostych komponentów o pojedynczej funkcji, które można ponownie wykorzystywać i łączyć, aby tworzyć bardziej złożone przepływy
- Umożliwia izolację modułu ładującego klasy w celu łatwiejszego zarządzania zależnościami
Jak zainstalować Apache NiFi
Poniżej znajduje się krok po kroku proces instalacji Apache NiFi
Krok 1) Iść do połączenie,
i kliknij „Kontynuuj subskrypcję”
Krok 2) Na następnej stronie
Kliknij „Akceptuj warunki”
Krok 3) Zobaczysz tę stronę,
Dziękujemy za subskrypcję tego produktu! Przetwarzamy Twoją prośbę.
Krok 4) Odśwież stronę po 5 minutach.
Kliknij „Kontynuuj konfigurację”
Krok 5) Na następnej stronie
Zachowaj ustawienia domyślne i kliknij „Kontynuuj uruchamianie”
Krok 6) Na następnej stronie
Kliknij Uruchom. Może być konieczne utworzenie klucza
Krok 7) Zobaczysz ten komunikat o powodzeniu.
Gratulacje! Instancja tego oprogramowania została pomyślnie wdrożona na EC2!
Krok 8) Uwaga,
Identyfikator instancji i publiczny DNS instancji EC2
Krok 9) W grupie bezpieczeństwa
Dodaj regułę dotyczącą całego ruchu dla ruchu przychodzącego i wychodzącego
Krok 10) Aby uzyskać dostęp do Nifi,
po prostu użyj adresu URL
http://publicdns:8080/nifi
W naszym przypadku tak się dzieje
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
Użytkownik: Admin
Hasło: Identyfikator instancji
Krok 11) Zobaczysz,
Ekran główny NiFi
Przypadki użycia Nifi
Poniżej znajduje się lista przypadków użycia Apache NiFi:
Przemysłowe | Stosowanie |
---|---|
Ubezpieczenia |
|
HealthCare |
|
Telekomunikacja |
|
Produkcja |
|
Przemysł naftowy i gazowy |
|
Usługi finansowe |
|
Najlepsze praktyki Uruchamianie Apache NiFi
- Idealny do oddzielenia środowisk testowych/programistycznych/produkcyjnych w NiFi
- Powinieneś podzielić przepływ na grupy procesów
- Stosuj konwencję nazewnictwa, używaj komentarzy i etykiet
- Uporządkuj swoje projekty w trzech częściach: pozyskiwanie, testowanie i monitorowanie
- Użyj unikalnych nazw zmiennych
Wada Nifi
- Potrzebujesz precyzyjnych kontroli bezpieczeństwa i zgodności
- Pracując z Apache NiFi, musisz bardzo dobrze znać podstawowy system
- Musi utrzymywać łańcuch dostaw danych
- Transport / Wiadomości mogą nie wystarczyć
- Potrzeby dostępu do danych przekraczają dostępne zasoby do transportu
- Nie wszystkie dane są tworzone jednakowo
- Autoryzacja na poziomie SSL i tematu może nie wystarczyć
Podsumowanie
- Apache NiFi to oprogramowanie typu open source służące do automatyzacji i zarządzania przepływem danych pomiędzy systemami
- Rozwiązanie NiFi zostało zaprojektowane z myślą o skalowaniu w klastrach, które gwarantują dostarczanie danych
- Nifi był rozwijany w NSA przez ponad osiem lat
- Po pobraniu danych ze źródeł zewnętrznych są one reprezentowane jako FlowFile w architekturze Apache NiFi.
- FlowFile, procesor, kontroler, serwer WWW, połączenie, ciśnienie zwrotne, repozytorium to ważne elementy architektury NiFi
- Język wyrażeń NiFi obsługuje każde działające urządzenie Java
- Możesz łatwo zainstalować NiFi na AWS
- NiFi jest wykorzystywane w różnych branżach, takich jak między innymi opieka zdrowotna, ubezpieczenia, telekomunikacja, produkcja, finanse, ropa i gaz
- Najlepsza praktyka polega na podzieleniu projektów na trzy części: pozyskiwanie, testowanie i monitorowanie