Hadoop YARN łączy jednostkę pamięci Hadoop, tj. HDFS (Hadoop Distributed File System) z różnymi narzędziami do przetwarzania. Dla tych z Was, którzy są zupełnie nowi w tym temacie, YARN oznacza „ Y i DO inny R esource N egotiator ”. Sugerowałbym również, abyś przejrzał nasz i zanim przejdziesz do nauki Apache Hadoop YARN. Wyjaśnię tutaj następujące tematy, aby upewnić się, że na końcu tego bloga twoje zrozumienie Hadoop YARN jest jasne.
rzutowanie typów w java z przykładem
- Dlaczego YARN?
- Wprowadzenie do Hadoop YARN
- Składniki przędzy
- Składanie aplikacji w YARN
- Przepływ pracy aplikacji w Hadoop YARN
Dlaczego YARN?
W wersji 1.0 platformy Hadoop, która jest również nazywana MRV1 (MapReduce w wersji 1), MapReduce pełniło zarówno funkcje przetwarzania, jak i zarządzania zasobami. Składał się z Job Trackera, który był jedynym mistrzem. Job Tracker przydzielił zasoby, przeprowadził planowanie i monitorował zadania przetwarzania. Przypisała mapę i zredukowała zadania w wielu podrzędnych procesach zwanych śledzeniem zadań. Urządzenia śledzące zadania okresowo zgłaszały swoje postępy do modułu śledzenia zadań.
Ten projekt spowodował wąskie gardło skalowalności z powodu pojedynczego śledzenia zadań.IBM wspomniał w swoim artykule, że według Yahoo! Praktyczne granice takiego projektu osiąga klaster składający się z 5000 węzłów i 40 000 zadań działających jednocześnie.Poza tym ograniczeniem wykorzystanie zasobów obliczeniowych jest nieefektywne w MRV1. Ponadto struktura Hadoop została ograniczona tylko do paradygmatu przetwarzania MapReduce.
Aby przezwyciężyć wszystkie te problemy, YARN został wprowadzony w wersji 2.0 Hadoop w roku 2012 przez Yahoo i Hortonworks. Podstawową ideą YARN jest odciążenie MapReduce poprzez przejęcie odpowiedzialności za zarządzanie zasobami i planowanie zadań. YARN zaczął udostępniać Hadoop możliwość uruchamiania zadań innych niż MapReduce w ramach platformy Hadoop.
Możesz również obejrzeć poniższy film, w którym nasz ekspert szczegółowo omawia koncepcje YARN i jego architekturę.
Samouczek przędzy Hadoop | Architektura przędzy Hadoop | Edureka
Wraz z wprowadzeniem YARN, został całkowicie zrewolucjonizowany. Stał się znacznie bardziej elastyczny, wydajny i skalowalny. Gdy Yahoo zaczęło korzystać z YARN w pierwszym kwartale 2013 r., Pomogło firmie zmniejszyć rozmiar klastra Hadoop z 40 000 do 32 000 węzłów. Ale liczba miejsc pracy podwoiła się do 26 milionów miesięcznie.
Wprowadzenie do Hadoop YARN
Teraz, gdy oświeciłem cię potrzebą YARN, pozwól, że przedstawię ci podstawowy składnik Hadoop v2.0, PRZĘDZA . YARN umożliwia różne metody przetwarzania danych, takie jak przetwarzanie wykresów, przetwarzanie interaktywne, przetwarzanie strumieniowe, a także przetwarzanie wsadowe, aby uruchamiać i przetwarzać dane przechowywane w formacie HDFS. Dlatego YARN otwiera Hadoop na inne typy aplikacji rozproszonych poza MapReduce.
YARN umożliwił użytkownikom wykonywanie operacji zgodnie z wymaganiami przy użyciu różnych narzędzi, takich jak do przetwarzania w czasie rzeczywistym, Ul dla SQL, HBase dla NoSQL i innych.
Oprócz zarządzania zasobami YARN wykonuje również planowanie zadań. YARN wykonuje wszystkie czynności związane z przetwarzaniem, przydzielając zasoby i planując zadania. Architektura Apache Hadoop YARN składa się z następujących głównych komponentów:
- Menedżer zasobów : Działa na demonie głównym i zarządza alokacją zasobów w klastrze.
- Menedżer węzłów: Działają na demonach slave i są odpowiedzialne za wykonanie zadania na każdym węźle danych.
- Mistrz aplikacji: Zarządza cyklem życia użytkownika i zapotrzebowaniem na zasoby poszczególnych aplikacji. Współpracuje z Node Manager i monitoruje wykonywanie zadań.
- Pojemnik: Pakiet zasobów, w tym pamięć RAM, procesor, sieć, dysk twardy itp. W jednym węźle.
Składniki przędzy
Możesz uważać YARN za mózg swojego ekosystemu Hadoop. Poniższy obrazek przedstawia architekturę YARN.
Plik pierwszy składnik architektury YARN jest
Menedżer zasobów
- Jest najwyższym autorytetem w alokacji zasobów .
- Po odebraniu żądań przetwarzania przekazuje odpowiednio część żądań do odpowiednich menedżerów węzłów, gdzie odbywa się faktyczne przetwarzanie.
- Jest arbitrem zasobów klastra i decyduje o alokacji dostępnych zasobów dla konkurencyjnych aplikacji.
- Optymalizuje wykorzystanie klastra, na przykład utrzymywanie wszystkich zasobów w użyciu przez cały czas z różnymi ograniczeniami, takimi jak gwarancje wydajności, uczciwość i umowy SLA.
- Składa się z dwóch głównych elementów:a) Harmonogramb)Menedżer aplikacji
a) Harmonogram
- Harmonogram jest odpowiedzialny za przydzielanie zasobów do różnych uruchomionych aplikacji z zastrzeżeniem ograniczeń wydajności, kolejek itp.
- Nazywa się to czystym harmonogramem w ResourceManager, co oznacza, że nie wykonuje żadnego monitorowania ani śledzenia statusu aplikacji.
- Jeśli wystąpi awaria aplikacji lub sprzęt, harmonogram nie gwarantuje ponownego uruchomienia zadań, które zakończyły się niepowodzeniem.
- Wykonuje planowanie w oparciu o wymagania dotyczące zasobów aplikacji.
- Zawiera podłączaną wtyczkę zasad, która jest odpowiedzialna za partycjonowanie zasobów klastra między różne aplikacje. Istnieją dwie takie wtyczki: Harmonogram wydajności i Uczciwy harmonogram , które są obecnie używane jako harmonogramy w narzędziu ResourceManager.
b) Menedżer aplikacji
- Jest odpowiedzialny za przyjmowanie zgłoszeń ofert pracy.
- Negocjuje pierwszy kontener z Menedżera zasobów w celu wykonania wzorca aplikacji specyficznej dla aplikacji.
- Zarządza uruchamianiem wzorców aplikacji w klastrze i zapewnia usługę ponownego uruchamiania kontenera głównego aplikacji w przypadku awarii.
Jadąc do drugi składnik który jest:
Menedżer węzłów
- Dba o poszczególne węzły w klastrze Hadoop izarządza zadaniami użytkowników i przepływem pracy w danym węźle.
- Rejestruje się w Menedżerze zasobów i wysyła pulsy ze stanem kondycji węzła.
- Jego głównym celem jest zarządzanie kontenerami aplikacji przypisanymi do niego przez menedżera zasobów.
- Jest na bieżąco z Menedżerem zasobów.
- Application Master żąda przypisanego kontenera od menedżera węzłów, wysyłając mu kontekst uruchomienia kontenera (CLC), który zawiera wszystko, czego aplikacja potrzebuje do działania. Menedżer węzłów tworzy żądany proces kontenera i uruchamia go.
- Monitoruje wykorzystanie zasobów (pamięć, procesor) poszczególnych kontenerów.
- Wykonuje zarządzanie dziennikami.
- Zabija również kontener zgodnie z instrukcjami Menedżera zasobów.
Plik trzeci składnik z Apache Hadoop YARN to,
różnica między html i xml
Mistrz aplikacji
- Aplikacja to pojedyncza praca przesłana do frameworka. Z każdą taką aplikacją jest powiązany unikalny Application Master, który jest jednostką specyficzną dla frameworka.
- Jest to proces, który koordynuje wykonywanie aplikacji w klastrze, a także zarządza błędami.
- Jego zadaniem jest negocjowanie zasobów z Menedżera zasobów i współpraca z Menedżerem węzłów przy wykonywaniu i monitorowaniu zadań składowych.
- Jest odpowiedzialny za negocjowanie odpowiednich kontenerów zasobów z ResourceManager, śledzenie ich stanu i monitorowanie postępów.
- Po uruchomieniu okresowo wysyła bicie serca do Menedżera zasobów, aby potwierdzić jego kondycję i zaktualizować rekord zapotrzebowania na zasoby.
Plik czwarty składnik jest:
Pojemnik
- Jest to zbiór zasobów fizycznych, takich jak pamięć RAM, rdzenie procesora i dyski w jednym węźle.
- Kontenery YARN są zarządzane przez kontekst uruchamiania kontenera, którym jest cykl życia kontenera (CLC). Ten rekord zawiera mapę zmiennych środowiskowych, zależności przechowywanych w zdalnie dostępnym magazynie, tokeny zabezpieczające, ładunek dla usług Node Manager oraz polecenie niezbędne do utworzenia procesu.
- Przyznaje aplikacji uprawnienia do używania określonej ilości zasobów (pamięci, procesora itp.) Na określonym hoście.
Składanie aplikacji w YARN
Skorzystaj z ilustracji i przyjrzyj się krokom związanym ze złożeniem wniosku o przędzę Hadoop:
1) Prześlij pracę
2)Uzyskaj identyfikator aplikacji
3) Kontekst przesyłania aplikacji
4 a) Uruchom kontenerUruchomić
b) Uruchom aplikację Master
5) Przydziel zasoby
6 a) Pojemnik
b) Uruchom
Przepływ pracy aplikacji w Hadoop YARN
Zapoznaj się z podanym obrazem i zobacz następujące kroki związane z przepływem pracy aplikacji w Apache Hadoop YARN:
- Klient składa wniosek
- Menedżer zasobów przydziela kontener, aby uruchomić Menedżera aplikacji
- Menedżer aplikacji rejestruje się w usłudze Resource Manager
- Menedżer aplikacji pyta o kontenery z Menedżera zasobów
- Menedżer aplikacji powiadamia Menedżera węzłów o uruchomieniu kontenerów
- Kod aplikacji jest wykonywany w kontenerze
- Klient kontaktuje się z menedżerem zasobów / menedżerem aplikacji, aby monitorować stan aplikacji
- Menedżer aplikacji wyrejestrowuje się z Menedżera zasobów
Teraz, gdy znasz już Apache Hadoop YARN, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka Big Data Hadoop Certification Training pomaga uczniom stać się ekspertami w dziedzinie HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume i Sqoop, wykorzystując przypadki użycia w czasie rzeczywistym w domenie handlu detalicznego, mediów społecznościowych, lotnictwa, turystyki, finansów.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.