Wprowadzenie do architektury HDFS

HDFS oznacza rozproszony system plików Hadoop, który sam mówi, że pliki są podzielone na bloki i przechowywane na kilku komputerach.

Funkcje HDFS

Funkcje HDFS, które są następujące:

1. Dostępność

W HDFS dane są regularnie replikowane między węzłami danych, tworząc replikę bloków w drugim węźle danych. Dlatego w przypadku awarii lub błędu sprzętu użytkownik może pobrać swoje dane z innego węzła danych, w którym dane zostały zreplikowane.

2. Skalowalność

W HDFS dane są przechowywane na wielu węzłach danych w postaci bloków. HDFS pozwala użytkownikom zwiększać rozmiar bloków w razie potrzeby. Istnieją dwa rodzaje mechanizmów skalowalności stosowanych w HDFS - skalowalność pozioma i skalowalność pionowa.

3. Replikacja

To unikalne cechy HDFS, które pozwalają użytkownikowi na łatwy dostęp do swoich danych w przypadku awarii sprzętu.

Architektura HDFS

HDFS jest zgodny z architekturą master-slave, która ma następujące komponenty:

1. NameNode:

NameNode jest również znany jako węzeł główny, ponieważ obsługuje wszystkie bloki obecne w DataNodes.

NameNode wykonuje następujące zadania:

  • Zarządzaj wszystkimi blokami DataNode
  • Daje dostęp do pliku użytkownikowi
  • Przechowuje wszystkie rekordy bloków obecnych w DataNode
  • NameNode rejestruje wszystkie informacje o plikach, na przykład jeśli nazwa pliku jest zmieniana lub treść została zmieniona lub usunięta NameNode natychmiast rejestruje tę zmianę w EditLogs
  • Pobiera rekordy wszystkich bloków z węzłów danych, aby upewnić się, że wszystkie bloki są aktywne w DataNode.
  • W przypadku błędu, jeśli wystąpi awaria sprzętu, natychmiast wybiera inny DataNode, aby utworzyć replikację i zarządzać komunikacją ze wszystkimi DataNodes

Typy plików w NameNode

NameNode zawiera dwa typy plików FsImage i EditLogs

ja. FsImage: Jest również nazywany obrazem pliku, ponieważ zawiera wszystkie informacje o systemie plików z przestrzeniami nazw. Zawiera również wszystkie katalogi i pliki systemu plików w sposób zserializowany.

ii. EditLogs: bieżące modyfikacje wykonane w plikach systemu plików są przechowywane w EditLogs.

2. Secondary NameNode

Dodatkowy węzeł NameNode jest również nazywany jako węzeł punktu kontrolnego, ponieważ wykonuje on regularne punkty kontrolne. Działa jako pomocnik dla podstawowego NameNode.

Secondary NameNode wykonuje następujące zadania

  • Secondary NameNode łączy FsImage i EditLogs z NameNode.
  • Odczytuje wszystkie informacje o systemie plików z pamięci pamięci NameNode i zapisuje te informacje na dysku twardym systemu plików.
  • Pobiera FsImage i EditLogs z NameNode w regularnych odstępach czasu, odczytuje informacje o modyfikacji wykonanych plików EditLogs i zapisuje modyfikację do FsImage. Ten proces tworzy nowy FsImage, który jest następnie wysyłany z powrotem do NameNode. Kiedykolwiek NameNode się uruchomi, użyje tych FsImage.

3. DataNode

DataNode jest również znany jako węzeł podrzędny, ponieważ obsługuje każdy węzeł zawierający dane na maszynie podrzędnej. DataNode przechowuje dane w formacie pliku ext3 lub ext4.

Węzeł danych wykonuje następujące zadania:

  • Wszystkie dane są przechowywane w DataNodes
  • Wykonuje wszystkie operacje na plikach zgodnie z żądaniem użytkowników, na przykład odczytuje zawartość pliku, zapisuje nowe dane w plikach,
  • Wykonuje również wszystkie instrukcje podane przez NameNode, na przykład zmienia nazwę pliku, usuwa niektóre bloki w DataNode, tworzy bloki itp.

4. Węzeł kontrolny:

Węzeł punktu kontrolnego to węzeł, który tworzył punkt kontrolny plików w regularnych odstępach czasu. Węzeł punktu kontrolnego w HDFS, pobierz FsImage i EditLogs z NameNode i połącz je, aby utworzyć nowy obraz i wysłać ten nowy obraz do NameNode. Najnowszy punkt kontrolny jest przechowywany w katalogu o takiej samej strukturze, jak katalog w trybie nazw. Z tego powodu obraz z punktem kontrolnym jest zawsze dostępny, jeśli jest potrzebny.

5. Węzeł zapasowy:

Funkcja węzła zapasowego jest podobna do węzła Checkpoint w celu wykonania zadania checkpointing. W Hadoop węzeł Backup przechowuje najnowszą i zaktualizowaną kopię przestrzeni nazw systemu plików. Nie ma potrzeby pobierania plików FsImage i editsLogs z aktywnego NameNode, aby utworzyć punkt kontrolny w węźle Backup, ponieważ jest on zsynchronizowany ze stanem aktywnego NameNode. Funkcja węzła Backup jest bardziej precyzyjna, ponieważ zapisuje przestrzeń nazw w lokalnym pliku FsImage i resetuje editLogs.

6. Bloki:

Wszystkie dane użytkowników są przechowywane w plikach HDFS, które są następnie dzielone na małe segmenty. Te segmenty są przechowywane w DataNodes. Segmenty obecne w DataNodes są nazywane blokami. Domyślny rozmiar tych bloków to 128 MB. Rozmiar bloku można zmienić zgodnie z wymaganiami użytkowników, konfigurując HDFS.

Jeśli rozmiar danych jest mniejszy niż rozmiar bloku, wówczas rozmiar bloku jest równy rozmiarowi danych. Na przykład jeśli dane mają rozmiar 135 MB, utworzą 2 bloki. Jeden będzie miał domyślny rozmiar 128 MB, a drugi będzie miał tylko 7 MB, a nie 128 MB. Z tego powodu oszczędza się dużo miejsca i czas na dysku.

Zarządzanie replikacją w architekturze HDFS:

HDFS jest odporny na awarie. Odporność na awarie to moc systemu w przypadku awarii i sposób, w jaki reaguje na błędy i trudne warunki. Odporność na uszkodzenia działa w oparciu o proces tworzenia repliki. Kopie danych użytkownika są zapisywane na komputerach w klastrze DHFS. Dlatego w przypadku awarii lub awarii systemu można uzyskać dostęp do kopii tych danych z innych komputerów w klastrze HDFS. Każdy blok w architekturze HDFS ma 3 repliki, które są przechowywane w różnych węzłach DataNodes. NameNode utrzymuje kopie dostępne w DataNodes. NameNode dodaje lub usuwa kopie na podstawie kryteriów niedoreplikowanych lub nadmiernie replikowanych bloków.

Napisz Operację

Aby zapisać pliki w systemie plików HDFS, klient przekaże metadane do węzła NameNode. Nameode odpowiada kilkoma blokami, ich lokalizacją, kopiami itp. Klient dzieli pliki na wiele bloków w oparciu o informacje o nameode. Następnie zaczyna wysyłać je do DataNode. Najpierw klient wysyła blok A do DataNode 1 z innymi informacjami o DataNode. Gdy DataNode 1 odbiera blok A klienta, DataNode 1 kopiuje ten sam blok do tej samej szafy do DataNode 2. Ponieważ oba DataNode znajdują się w tej samej szafie, przenoszenie bloku odbywa się za pomocą przełącznika szafy. DataNode 2 kopiuje teraz ten sam blok do DataNode 3 Ponieważ oba DataNodes znajdują się w różnych stelażach, przenoszenie bloku odbywa się za pomocą przełącznika poza stojakiem. Gdy DataNode otrzyma bloki klienta, wyśle ​​potwierdzenie do NameMode. Każdy blok pliku, ten sam proces jest powtarzany.

Przeczytaj Operację

W przypadku operacji odczytu pierwszy klient przekazuje metadane do węzła NameNode. Klient zamyka NameNode z nazwą i lokalizacją pliku. Nameode odpowiada numerem bloku, lokalizacją, kopiami i innymi informacjami. Następnie klient komunikuje się z DataNodes. W oparciu o informacje otrzymane z NameNode, klient zaczyna czytać dane równolegle z DataNodes. Gdy cały blok pliku zostanie odebrany przez klienta lub aplikację, łączy te bloki w oryginalną formę pliku.

Wniosek - architektura HDFS

Za pomocą NameNode i DataNode niezawodnie przechowuje bardzo duże pliki na różnych komputerach w dużym klastrze. Ze względu na odporność na awarie pomocne jest uzyskiwanie dostępu do danych podczas awarii oprogramowania lub sprzętu. Tak działa architektura HDFS.

Polecane artykuły

Jest to przewodnik po architekturze HDFS. Omówiliśmy podstawowe pojęcia z różnymi typami architektury, funkcjami i zarządzaniem replikacją architektury HDFS. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest modelowanie danych?
  2. Co to jest wizualizacja danych
  3. Co to jest hurtownia danych?
  4. Co to jest programista SQL?

Kategoria: