Federacja architektury klastra Hadoop 2.0
Wprowadzenie:
W tym blogu zagłębię się w Federację Architektury Klastra Hadoop 2.0. Apache Hadoop bardzo się rozwinął od czasu wydania Apache Hadoop 1.x. Jak wiesz z mojego poprzedniego bloga, że podąża za topologią Master / Slave, w której NameNode działa jako demon główny i jest odpowiedzialny za zarządzanie innymi węzłami podrzędnymi zwanymi DataNodes. W tym ekosystemie ten pojedynczy Master Daemon lub NameNode staje się wąskim gardłem, a wręcz przeciwnie, firmy muszą mieć NameNode, który jest wysoce dostępny. Właśnie z tego powodu stała się podstawą architektury federacyjnej HDFS i Architektura HA (wysoka dostępność) .
Tematy, które poruszyłem na tym blogu, są następujące:
- Obecna architektura HDFS
- Ograniczenia obecnej architektury HDFS
- Architektura federacyjna HDFS
Przegląd aktualnej architektury HDFS:
Jak widać na powyższym rysunku, obecny HDFS ma dwie warstwy:
- Przestrzeń nazw HDFS (NS): Ta warstwa jest odpowiedzialna za zarządzanie katalogami, plikami i blokami. Zapewnia wszystkie operacje systemu plików związane z przestrzenią nazw, takie jak tworzenie, usuwanie lub modyfikowanie plików lub katalogów plików.
- Warstwa pamięci: Składa się z dwóch podstawowych elementów.
- Zarządzanie blokami : Wykonuje następujące operacje:
- Okresowo sprawdza pulsy DataNodes i zarządza członkostwem DataNode w klastrze.
- Zarządza raportami o blokach i utrzymuje lokalizację bloków.
- Obsługuje operacje blokowe, takie jak tworzenie, modyfikacja, usuwanie i przydzielanie lokalizacji bloku.
- Utrzymuje spójność współczynnika replikacji w całym klastrze.
- Zarządzanie blokami : Wykonuje następujące operacje:
2. Fizyczna pamięć masowa : Jest zarządzany przez DataNodes, które są odpowiedzialne za przechowywanie danych, a tym samym zapewniają dostęp do odczytu / zapisu do danych przechowywanych w HDFS.
Tak więc obecna architektura HDFS umożliwia posiadanie jednej przestrzeni nazw dla klastra. W tej architekturze jeden NameNode jest odpowiedzialny za zarządzanie przestrzenią nazw. Taka architektura jest bardzo wygodna i łatwa do wdrożenia. Zapewnia również wystarczające możliwości zaspokojenia potrzeb małego klastra produkcyjnego.
Ograniczenia obecnego HDFS:
Jak wspomniano wcześniej, obecny HDFS wystarczył do potrzeb i przypadków użycia małego klastra produkcyjnego. Ale duże organizacje, takie jak Yahoo, Facebook, napotkały pewne ograniczenia, ponieważ klaster HDFS rósł wykładniczo. Rzućmy okiem na niektóre ograniczenia:
statyczna funkcja składowa c ++
- Przestrzeń nazw to nie skalowalne jak DataNodes. W związku z tym możemy mieć tylko taką liczbę DataNodes w klastrze, którą może obsłużyć pojedynczy NameNode.
- Dwie warstwy, tj. Warstwa przestrzeni nazw i warstwa pamięci masowej to ściśle powiązane co bardzo utrudnia alternatywną implementację NameNode.
- Wydajność całego systemu Hadoop zależy od wydajność elementu NameNode. Dlatego całkowita wydajność wszystkich operacji HDFS zależy od tego, ile zadań NameNode może obsłużyć w określonym czasie.
- NameNode przechowuje całą przestrzeń nazw w pamięci RAM w celu szybkiego dostępu. Prowadzi to do ograniczeń w zakresie rozmiar pamięci tj. liczba obiektów przestrzeni nazw (plików i bloków), z którymi może sobie poradzić pojedynczy serwer przestrzeni nazw.
- Wiele organizacji (dostawców) korzystających z systemu plików HDFS umożliwia wielu organizacjom (dzierżawcom) korzystanie z przestrzeni nazw klastra. Tak więc nie ma separacji przestrzeni nazw i dlatego tak jest brak izolacji wśród organizacji dzierżawców korzystających z klastra.
Architektura federacyjna HDFS:
- W architekturze federacyjnej HDFS mamy poziomą skalowalność usługi nazw. Dlatego mamy wiele węzłów NameNodes, które są sfederowane, tj. Niezależne od siebie.
- Węzły DataNodes znajdują się na dole, tj. Podstawowa warstwa pamięci.
- Każdy węzeł DataNode rejestruje się we wszystkich NameNodes w klastrze.
- DataNodes przesyłają okresowe bicie serca, raporty bloków i obsługują polecenia z NameNodes.
Graficzne przedstawienie Architektury Federacji HDFS podano poniżej:
Zanim przejdę dalej, pozwolę sobie pokrótce omówić powyższy obraz architektoniczny:
- Istnieje wiele przestrzeni nazw (NS1, NS2,…, NSn), a każda z nich jest zarządzana przez odpowiedni NameNode.
- Każda przestrzeń nazw ma swoją własną pulę bloków (NS1 ma pulę 1, NSk ma pulę k i tak dalej).
- Jak pokazano na ilustracji, bloki z puli 1 (błękit nieba) są przechowywane w DataNode 1, DataNode 2 i tak dalej. Podobnie, wszystkie bloki z każdej puli bloków będą znajdować się we wszystkich DataNodes.
Przyjrzyjmy się teraz szczegółowo składnikom architektury federacyjnej HDFS:
Zablokuj pulę:
Pula bloków to nic innego jak zestaw bloków należących do określonej przestrzeni nazw. Mamy więc kolekcję puli bloków, w której każda pula bloków jest zarządzana niezależnie od drugiej. Ta niezależność, w której każda pula bloków jest zarządzana niezależnie, umożliwia przestrzeni nazw tworzenie identyfikatorów bloków dla nowych bloków bez koordynacji z innymi przestrzeniami nazw. Bloki danych obecne w całej puli bloków są przechowywane we wszystkich DataNodes. Zasadniczo pula bloków zapewnia taką abstrakcję, że bloki danych rezydujące w DataNodes (jak w architekturze Single Namespace Architecture) mogą być grupowane zgodnie z określoną przestrzenią nazw.
Objętość przestrzeni nazw:
Wolumen przestrzeni nazw to nic innego jak przestrzeń nazw wraz z pulą bloków. Dlatego w Federacji HDFS mamy wiele woluminów przestrzeni nazw. Jest to samodzielna jednostka zarządzania, tj. Każdy wolumin przestrzeni nazw może funkcjonować niezależnie. Jeśli NameNode lub przestrzeń nazw zostaną usunięte, odpowiednia pula bloków, która znajduje się w DataNodes, również zostanie usunięta.
Demo na temat federacji architektury klastra Hadoop 2.0 | Edureka
Wydaje mi się, że masz całkiem niezłe pojęcie o architekturze federacyjnej HDFS. Jest to bardziej teoretyczna koncepcja i ludzie generalnie nie używają jej w praktycznym systemie produkcji. Istnieją pewne problemy z implementacją w Federacji HDFS, które utrudniają wdrożenie. Dlatego też Architektura HA (wysoka dostępność) preferowane jest rozwiązanie problemu pojedynczego punktu awarii. Omówiłem Architektura HDFS HA w moim następnym blogu.
Teraz, gdy znasz już architekturę federacji Hadoop HDFS, zapoznaj się z 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ą.
jak zrobić kupę w java