Wprowadzenie do architektury Hadoop YARN
MapReduce był używany zarówno do zarządzania zasobami, jak i przetwarzania we wcześniejszej wersji 1.0 Hadoop. Tutaj Job Tracker przeprowadzał przydzielanie zasobów, planowanie i monitorowanie zadań, przypisując mapę i redukując zadania do Task Tracker. Spowodowało to takie problemy, jak skalowalność, nieefektywne wykorzystanie zasobów. Ponieważ ramy Hadoop przeszły kilka zmian na przestrzeni lat; widzimy, że można go użyć do wykonania znacznie więcej niż tylko uruchamiania zadań MapReduce. YARN oznacza Yet Another Negotiator, nazywany systemem zarządzania klastrami Hadoop, który został wprowadzony wraz z Hadoop 2.0 w celu obsługi przetwarzania rozproszonego, co również poprawia implementację MapReduce. W YARN menedżer zasobów i harmonogramy są zewnętrzne w stosunku do frameworka. Tak więc w YARN, chociaż mamy węzły danych, nie ma już modułów do śledzenia zadań ani elementów do śledzenia zadań. Również z YARN możemy mieć zarządzanie zasobami, a także ogólne planowanie. W tym temacie poznamy inną architekturę YARN
Wyjaśnij architekturę Hadoop YARN z diagramem
(Architektura Hadoop YARN)
YARN wprowadza koncepcję Resource Managera i Application Master w Hadoop 2.0. Menedżer zasobów widzi wykorzystanie zasobów w klastrze Hadoop, podczas gdy cykl życia aplikacji uruchomionych w danym klastrze jest nadzorowany przez Master aplikacji. Zasadniczo możemy powiedzieć, że w przypadku zasobów klastra Mistrz aplikacji negocjuje z Menedżerem zasobów. To zadanie jest wykonywane przez kontenery, które zawierają określone ograniczenia pamięci. Następnie kontenery te są używane do uruchamiania procesów specyficznych dla aplikacji, a także kontenery te są nadzorowane przez menedżerów węzłów działających na węzłach w klastrze. Potwierdzi to, że aplikacja nie wykorzystuje więcej niż przydzielone zasoby.
Różne składniki YARN
Poniżej znajdują się różne składniki YARN.
1) Menedżer zasobów
YARN działa za pośrednictwem Menedżera zasobów, który jest jeden na węzeł, oraz Menedżera węzłów, który działa na wszystkich węzłach. Menedżer zasobów zarządza zasobami używanymi w klastrze, a Menedżer węzłów uruchamia i monitoruje kontenery. Program planujący i Menedżer aplikacji to dwa składniki Menedżera zasobów.
- Harmonogram : planowanie jest wykonywane na podstawie zapotrzebowania zasobów przez aplikacje. YARN zapewnia kilka harmonogramów do wyboru, a są to programy Fair i Capacity Scheduler. W przypadku awarii sprzętu lub aplikacji program planujący nie zapewnia ponownego uruchomienia nieudanych zadań. Ponadto program planujący przydziela zasoby do uruchomionych aplikacji na podstawie pojemności i kolejki.
- Menedżer aplikacji : zarządza działaniem aplikacji Master w klastrze, aw przypadku awarii aplikacji Application Master pomaga w jej ponownym uruchomieniu. Ponadto ponosi on odpowiedzialność za przyjęcie ofert pracy.
2) Menedżer węzłów
Menedżer węzłów jest odpowiedzialny za wykonanie zadania w każdym węźle danych. Menedżer węzłów w YARN domyślnie wysyła uderzenie serca do menedżera zasobów, który przenosi informacje o uruchomionych kontenerach i dotyczące dostępności zasobów dla nowych kontenerów. Odpowiada za monitorowanie poszczególnych węzłów w klastrze i zarządza przepływem pracy i zadaniami użytkowników w określonym węźle. Głównie zarządza kontenerami aplikacji przypisanymi przez Resource Managera. Menedżer węzłów uruchamia kontenery, tworząc żądane procesy kontenerów, a także zabija kontenery zgodnie z zapytaniem menedżera zasobów.
3) Pojemniki
Kontenery są zestawem zasobów takich jak RAM, CPU i pamięć itp. W jednym węźle i są one planowane przez Resource Manager i monitorowane przez Node Manager. Cykl życia kontenera zarządza kontenerami YARN za pomocą kontekstu uruchamiania kontenera i zapewnia dostęp do aplikacji w celu konkretnego wykorzystania zasobów na określonym hoście.
4) Mistrz aplikacji
Monitoruje wykonywanie zadań, a także zarządza cyklem życia aplikacji działających w klastrze. Indywidualny wzorzec aplikacji zostaje skojarzony z zadaniem po przesłaniu go do środowiska. Jego głównym obowiązkiem jest negocjowanie zasobów od Resource Managera. Współpracuje z menedżerem węzłów w celu monitorowania i wykonywania zadań.
Aby uruchomić aplikację za pośrednictwem YARN, wykonywane są poniższe kroki.
- Klient kontaktuje się z Resource Managerem, który prosi o uruchomienie procesu aplikacji, tj. Przesyła aplikację YARN.
- Następnym krokiem jest wyszukanie przez menedżera zasobów menedżera węzłów, który z kolei uruchomi wzorzec aplikacji w kontenerze.
- Mistrz aplikacji może albo uruchomić wykonanie w kontenerze, w którym aktualnie działa, i dostarczyć wynik klientowi, albo może zażądać więcej kontenerów od menedżera zasobów, które można nazwać przetwarzaniem rozproszonym.
- Następnie klient kontaktuje się z Menedżerem zasobów, aby monitorować stan aplikacji.
Dzięki MapReduce w wersji Hadoop 1.0 (MRV1) zdefiniowano liczbę map i liczbę miejsc zmniejszonych na węzeł. Również w klastrze Hadoop, ponieważ możliwości sprzętowe były różne, a liczba zadań w określonym węźle musiała być ręcznie ograniczana. Ale w przypadku YARN tę niedociągnięcie można przezwyciężyć, ponieważ tutaj Menedżer zasobów wie o pojemności każdego węzła, komunikując się z Menedżerem węzłów, który działa na każdym węźle.
Wniosek - architektura Hadoop YARN
YARN pomaga przezwyciężyć problem skalowalności MapReduce w Hadoop 1.0, ponieważ dzieli pracę Job Tracker, zarówno planowania zadań, jak i monitorowania postępu zadań. Problem dostępności został również rozwiązany, ponieważ wcześniej w Hadoop 1.0 awaria Job Tracker doprowadziła do ponownego uruchomienia zadań. YARN przyszedł z wieloma dodatkowymi bonusami, takimi jak lepsze wykorzystanie zasobów, ponieważ nie ma ustalonego miejsca na zadania, ponieważ zapewnia centralne zarządzanie zasobami. Dzięki YARN rozwiązano wiele problemów napotykanych we wcześniejszej wersji Hadoop, ponieważ pomaga to w oddzieleniu przetwarzania danych od planowania i zarządzania zasobami. Dzięki YARN możliwe jest uruchamianie interaktywnych zapytań niezależnie, a także zapewnianie lepszej analizy w czasie rzeczywistym.
Polecane artykuły
Jest to przewodnik po architekturze Hadoop YARN. Tutaj omawiamy różne komponenty YARN, w tym Menedżera zasobów, Menedżera węzłów i Kontenery wraz z architekturą. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Ekosystem Apache Hadoop
- Komponenty ekosystemu Hadoop
- Komponenty Hadoop
- Ekosystem Hadoop