apache hadoop yarn tutorial
Komponenty Hadoop - MapReduce z Hadoop YARN:
W naszym poprzednim samouczku dotyczącym składnika Hadoop dowiedzieliśmy się o Hadoop MapReduce i jego mechanizmie przetwarzania, takim jak INPUT, SPLITTING, MAPPING, SHUFFLING, REDUCING i FINAL RESULT.
W tym samouczku zbadamy:
- Jak działa Map Reduce z YARN?
- Przepływ pracy aplikacji Hadoop YARN.
=> Zapoznaj się z przewodnikiem dla początkujących BigData tutaj.
Czego się nauczysz:
Zmniejsz mapę dzięki przędzy Hadoop
Zrozummy, jak MapReduce używa YARN do wykonywania zadań w klastrze Hadoop. Ale zanim przejdziemy dalej, pierwsze pytanie, które przychodzi nam do głowy, brzmi jaka jest pełna forma przędzy? Albo co oznacza YARN?
PRZĘDZA znaczy Jeszcze inny negocjator zasobów.
To ten, który przydziela zasoby do różnych zadań, które muszą być wykonane w klastrze Hadoop. Został wprowadzony w Hadoop 2.0.
Do Hadoop 1.0 MapReduce był jedynym frameworkiem lub jedyną jednostką przetwarzającą, która może działać w klastrze Hadoop. Jednak w Hadoop 2.0 YARN został wprowadzony i dzięki temu jesteśmy w stanie wyjść poza MapReduce.
Jak widać na diagramie, na dole mamy HDFS, mamy YARN i używając YARN, wiele frameworków jest w stanie łączyć się i wykorzystywać HDFS. Tak więc nawet MapReduce jest używane do łączenia się za pomocą YARN w celu żądania zasobów i tylko wtedy może wykonać zadanie przez HDFS, czyli klaster Hadoop.
Podobnie; SPARK, STORM i inne wyszukiwarki mogą łączyć się z HDFS. HBase, która jest bazą danych No SQL, może ją również połączyć. Tak więc aplikacje HDFS stały się ogromne, tylko dlatego, że YARN był w stanie otworzyć bramę dla innych frameworków i innych narzędzi analitycznych Bigdata.
Jaka jest różnica między MapReduce Version1 (MRv1) a MapReduce Version2 (MRv2)?
MRv1 był zasadniczo częścią struktury Hadoop 1, a wraz z Hadoop 2 YARN pojawił się na obrazku, a MapReduce zostało uaktualnione do MRv2 z kilkoma zmianami w klasach. Klasy zostały zaktualizowane, jednak składnia pisania programu MapReduce pozostaje taka sama.
W tym scenariuszu MapReduce łączy się teraz z YARN w celu osiowania HDFS.
Wraz z YARN, Resource Manager i Node Manager to nowe demony, które zostały wprowadzone do klastra Hadoop.
Wcześniej był to Job Tracker i Task Tracker. Jednak zostały one usunięte z Hadoop 2.0, a Menedżer zasobów i Menedżer węzłów zostały wprowadzone wraz z YARN do struktury Hadoop.
Hadoop 2.x Daemons
Rzućmy okiem na nowo wprowadzone demony w Hadoop 2.0, które obsługują komponenty, tj. Przechowywanie i przetwarzanie.
jak przetestować metody prywatne przy użyciu mockito
W samouczku dotyczącym HDFS szczegółowo zrozumieliśmy demona, tj. NameNode i DataNode. W tym samouczku zrozumiemy, jak Menedżer zasobów i Menedżer węzłów działają w klastrze Hadoop 2.x w celu zarządzania przetwarzaniem i zadaniami, które muszą być wykonywane w klastrze Hadoop.
Więc co to jest Menedżer zasobów? Menedżer zasobów to demony główne, które działają na maszynie głównej lub NameNode, który jest maszyną wysokiej klasy. Z drugiej strony Node Manager to demon, który działa na maszynach podrzędnych lub DataNodes lub wraz z procesem DataNode.
Hadoop 2.x MapReduce YARN Components
Przyjrzyjmy się innym składnikom YARN poniżej.
- Klient: Jest to jednostka, która przekazuje Job-like Command Line Interface (CLI), a klientem może być aplikacja JAVA.
- Menedżer zasobów: Jest to demon główny, do którego wszystkie zadania są przesyłane z klienta i to on przydziela wszystkie zasoby na poziomie klastra do wykonania określonego zadania. Działa na wysokiej klasy maszynie, która ma dobrej jakości sprzęt i dobrą konfigurację, ponieważ jest to maszyna główna, która musi zarządzać wszystkim w klastrze.
- Menedżer węzłów : Jest to demon podrzędny, który działa na maszynach podrzędnych lub na DataNode, więc każda maszyna podrzędna ma uruchomionego menedżera węzłów. Monitoruje zasoby określonego węzła DataNode, Menedżer zasobów zarządza zasobami klastra, a Menedżer węzłów zarządza zasobami węzła DataNode.
- Serwer historii prac: Jest to jednostka, która śledzi wszystkie Zlecenia, które zostały wykonane w Klastrze lub zostały przesłane do Klastra. Śledzi również stan, a także przechowuje pliki dziennika każdego wykonania, które miało miejsce w klastrze Hadoop.
- Mistrz aplikacji : Jest to komponent, który jest wykonywany na maszynie węzłowej, maszynie podrzędnej i jest tworzony przez menedżera zasobów w celu wykonania zadania i zarządzania nim. To on negocjuje zasoby z menedżera zasobów i ostatecznie koordynuje z menedżerem węzłów, aby wykonać zadanie.
- Pojemnik: Jest tworzony przez samego menedżera węzłów, który został przydzielony przez menedżera zasobów, a wszystkie zadania są ostatecznie wykonywane w kontenerze.
Przepływ pracy przędzy
Jak pokazano na powyższym schemacie, istnieje plik Menedżer zasobów do której przekazywane są wszystkie Zlecenia i istnieje Klaster, w którym znajdują się Maszyny Slave, a na każdej Maszynie Slave znajduje się Menedżer węzłów bieganie.
Menedżer zasobów ma dwa składniki tj. Planista i Menedżer aplikacji.
Jaka jest różnica między aplikacją główną a menedżerem aplikacji?
Menedżer aplikacji jest składnikiem Menedżer zasobów co zapewnia, że każde zadanie zostanie wykonane, a plik Mistrz aplikacji jest do tego stworzony. Mistrz aplikacji, z drugiej strony to ktoś, kto wykonuje zadanie i żąda wszystkich zasobów, które są wymagane do wykonania.
Załóżmy, że oferta pracy została przesłana do Menedżer zasobów , zaraz po przesłaniu zadania Planista planuje zadanie. Kiedyś Planista planuje wykonanie zadania Menedżer aplikacji stworzy Pojemnik w jednym z DataNodes i w tym Pojemnik, the Mistrz aplikacji Zacznie się.
To Mistrz aplikacji zarejestruje się w Menedżer zasobów i prośbę o Pojemnik do wykonania zadania. Tak szybko jak Pojemnik jest przydzielony, plik Mistrz aplikacji będzie teraz połączony z Menedżer węzłów i poproś o uruchomienie Pojemnik .
Jak widać, plik Mistrz aplikacji został przydzielony do DataNodes D i JEST , a teraz to Mistrz aplikacji zażądał Menedżer węzłów aby uruchomić Pojemniki z DataNode D i DataNode E .
Tak szybko jak Pojemniki zostały uruchomione, plik Mistrz aplikacji wykona zadanie w ramach Pojemnik a wynik zostanie wysłany z powrotem do Klient .
Przepływ aplikacji
Zrozummy to w sposób sekwencyjny.
Na poniższym schemacie mamy cztery komponenty. Pierwszy to Klient, drugi to Menedżer zasobów , trzeci to Menedżer węzłów a czwarta linia zawiera Mistrz aplikacji .
Zobaczmy więc, jak te kroki są wykonywane między nimi.
Pierwszym krokiem jest Klient który przesyła ofertę pracy do Menedżer zasobów , w drugim kroku Menedżer zasobów przydziela plik Pojemnik aby uruchomić Mistrz aplikacji na Niewolnicze maszyny ; trzeci krok to Mistrz aplikacji rejestruje się w Menedżer zasobów .
Gdy tylko się zarejestruje, zażąda pliku Pojemnik do wykonania zadania, czyli czwarty krok. W kroku piątym plik Mistrz aplikacji powiadamia Menedżer węzłów na którym Pojemnik musi zostać uruchomiony.
W kroku szóstym, gdy plik Menedżer węzłów uruchomił Pojemniki, the Mistrz aplikacji wykona w nich kod Pojemniki .
Wreszcie w siódmym kroku plik Klient kontaktuje się z Menedżer zasobów albo Mistrz aplikacji do monitorowania stanu aplikacji.
W końcu Mistrz aplikacji wyrejestruje się z Menedżer zasobów a wynik jest zwracany do Klient . Jest to więc jeden prosty sekwencyjny przepływ, w jaki sposób program MapReduce jest wykonywany przy użyciu struktury YARN.
Wniosek
W tym samouczku nauczyliśmy się następujących wskazówek:
- PRZĘDZA znaczy Jeszcze inny negocjator zasobów.
- YARN został wprowadzony w Hadoop 2.0
- Resource Manager i Node Manager zostały wprowadzone wraz z YARN do struktury Hadoop.
- Składniki YARN, takie jak klient, menedżer zasobów, menedżer węzłów, serwer historii zadań, główny element aplikacji i kontener.
W nadchodzącym samouczku omówimy techniki testowania BigData oraz wyzwania stojące przed testowaniem BigData. Dowiemy się również, jak sprostać tym wyzwaniom i jak ominąć sposoby, aby ułatwić testowanie BigData.
=> Odwiedź tutaj, aby nauczyć się BigData od podstaw.
rekomendowane lektury
- Co to jest Hadoop? Samouczek dotyczący Apache Hadoop dla początkujących
- Ponad 20 samouczków MongoDB dla początkujących: bezpłatny kurs MongoDB
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Samouczek Pythona dla początkujących (praktyczne BEZPŁATNE szkolenie Python)
- Samouczek dotyczący Big Data dla początkujących | Co to jest Big Data?
- Samouczek LoadRunner dla początkujących (bezpłatny 8-dniowy szczegółowy kurs)
- Samouczek Hadoop MapReduce z przykładami | Co to jest MapReduce?
- Najlepsza DARMOWA seria samouczków języka C #: najlepszy przewodnik po języku C # dla początkujących