Co to jest rozproszony system plików Hadoop (HDFS)? Architektura, funkcje i operacje

Opublikowany: 2020-02-03

Rozproszony system plików Hadoop lub HDFS to podstawowy system pamięci masowej Hadoop. Przechowuje duże pliki danych, które działają na zwykłym sprzęcie. Ten system pamięci masowej jest skalowalny, łatwo rozszerzalny i odporny na awarie.

Gdy na jednej fizycznej maszynie jest zbyt dużo danych, pamięć jest podzielona na kilka maszyn, aby uniknąć utraty danych. HDFS to jeden z takich rozproszonych systemów przechowywania plików, który zarządza operacjami przechowywania na wielu fizycznych komputerach. Oto samouczek HDFS, aby lepiej zrozumieć, jak działa ten system. Zacznijmy od jego architektury.

Spis treści

Architektura HDFS

Rozproszony system plików Hadoop ma architekturę master-slave z następującymi komponentami:

  1. Namenode : Jest to podstawowy sprzęt, który zawiera zarówno oprogramowanie namenode, jak i system operacyjny Linux/GNU. Oprogramowanie Namenode może płynnie działać na zwykłym sprzęcie bez żadnych problemów. System z komponentem namenode działa jako serwer główny. Wykonuje zadania, które obejmują regulowanie sposobu, w jaki klienci uzyskują dostęp do plików, zarządzanie przestrzenią nazw systemu plików i wykonywanie operacji, w tym otwieranie, zamykanie i zmienianie nazw katalogów i plików.
  2. Datanode : Jest to standardowy sprzęt, który zawiera oprogramowanie węzła danych i system operacyjny Linux/GNU. Węzły w klastrze zawsze będą miały skojarzone z nimi węzły danych. Węzły te są odpowiedzialne za zarządzanie magazynem sprzętu/systemu towarowego. Niektóre z zadań wykonywanych przez węzły danych obejmują operacje odczytu/zapisu zgodnie z żądaniem klienta oraz tworzenie, replikację i usuwanie bloków na podstawie instrukcji podanych przez nazwanode.
  3. Blokuj : Całe dane użytkownika są przechowywane w plikach HDFS. Każdy plik należący do określonego systemu plików jest podzielony na jeden lub więcej niż jeden segment, który jest następnie przechowywany w węzłach danych. Segmenty plików, na które są dzielone pliki, są blokami. Tak więc najmniejszymi danymi, które HDFS jest w stanie odczytać lub zapisać, jest blok. Początkowo każdy blok ma rozmiar 64 MB. Ale ten rozmiar można zwiększyć zgodnie ze zmianami konfiguracji HDFS.

Architektura HDFS daje jasny i jednoznaczny obraz pracy HDFS. Składa się z kilku datanodów, ale tylko z jednego namenoda. Metadane są przechowywane w węźle nazw, podczas gdy faktycznym pracownikiem obu typów węzłów jest węzeł danych. Węzły są zorganizowane w różnych stojakach, na których przechowywane są bloki danych, aby poprawić odporność na uszkodzenia i niezawodność danych. Klienci muszą wchodzić w interakcję z namenode, aby odczytać/zapisać plik. Klaster ma kilka węzłów danych, które używają dysku lokalnego do przechowywania dostępnych danych. Datanode i namenode są ze sobą w stałym kontakcie. Datanode jest również odpowiedzialny za replikację danych przy użyciu funkcji replikacji do różnych węzłów danych.

Operacje odczytu i zapisu w HDFS odbywają się na najniższym poziomie, tj. poziomie bloku. Koncepcja replikacji danych ma kluczowe znaczenie dla działania systemu HDFS — wysoka dostępność danych jest zapewniona podczas awarii węzła poprzez tworzenie replik bloków i ich dystrybucję w całym klastrze.

Operacje HDFS

Systemy plików HDFS i Linux są do siebie dość podobne. Tak więc HDFS pozwala nam wykonywać wszystkie operacje, do których jesteśmy przyzwyczajeni z lokalnymi systemami plików – możemy tworzyć dyrektora, zmieniać uprawnienia, kopiować pliki i robić wiele więcej. Mamy również kilka praw dostępu do plików, w tym do czytania, pisania i wykonywania.

Operacja odczytu w HDFS: Jeśli chcesz odczytać plik przechowywany w HDFS, będziesz musiał wchodzić w interakcję z namenode. Jak już wspomniano, wszystkie metadane są przechowywane w namenodzie. Gdy wejdziesz w interakcję z namenode, otrzymasz adres datanode, w którym przechowywany jest plik, którego szukasz. Następnie możesz wchodzić w interakcję z datanodem, którego adres nadałeś namenode, a następnie odczytać stamtąd informacje.

Wchodzisz w interakcję z API systemu plików, który żąda, aby namenode udostępnił adres bloku. Przed podaniem tych informacji namenode sprawdza, czy masz prawo dostępu do tych danych, czy nie. Po wykonaniu tej kontroli namenode albo współdzieli lokalizację bloku, albo odmawia dostępu z powodu ograniczeń.

Otrzymasz formę tokena przez namenode, który musisz pokazać odpowiedniemu węzłowi danych, aby uzyskać dostęp do pliku. Jest to forma mechanizmu bezpieczeństwa, który HDFS stosuje w celu zapewnienia, że ​​odpowiednia osoba ma dostęp do danych. Datanode pozwoli na odczytanie pliku dopiero po wyświetleniu tokena.

Operacja zapisu: Operacja zapisu przebiega według tego samego początkowego wzorca. Musisz zażądać nazwy węzła, aby umożliwić zapisywanie danych. W zamian poda lokalizację węzła danych, na którym ma zostać wykonana operacja zapisu. Jak tylko zakończysz wykonywanie tej operacji, datanode rozpocznie replikację tych bloków zapisanych danych na innych datanode. Po zakończeniu replikacji otrzymasz potwierdzenie. Mechanizm uwierzytelniania w operacji zapisu jest taki sam jak w operacji odczytu.

Funkcje HDFS

  1. Dostępność : Nie ma zbyt wielu systemów plików, które mają wysoką dostępność HDFS. System plików działa zgodnie z mechanizmem replikacji danych w postaci replik blokowych na węzłach danych (slave) w całym klastrze. Aby uzyskać dostęp do tych danych, musisz wejść w interakcję z datanodami zawierającymi bloki informacji, których szukają.
  2. Niezawodność : Rozproszony system plików Hadoop to wysoce niezawodny system przechowywania danych. Ilość danych, które można przechowywać w HDFS, wynosi w petabajtach. Wykorzystuje klaster do przechowywania wszystkich swoich danych, które są rozdzielane na bloki. Następnie używa węzłów klastra do przechowywania tych bloków.
  3. Odporność na awarie : ta cecha to siła robocza HDFS w warunkach, które nie są tak sprzyjające jak zwykle. HDFS toleruje błędy, jak żaden inny system plików. Chroni Twoje dane przed skutkami nieprzewidzianych wydarzeń, nawet w przyszłości. Jak już wspomniano, replikacja danych odbywa się na różnych maszynach. Co się stanie, gdy którakolwiek z tych maszyn przestanie działać? Mógł to być poważny problem z każdym innym systemem, ale nie z HDFS. HDFS umożliwia dostęp do danych z dowolnej innej maszyny, która również ma kopię bloków danych, których szukasz. Nazywa się to prawdziwą tolerancją błędów.
  4. Skalowalność : HDFS używa różnych węzłów w klastrze do przechowywania danych. Gdy wymagania dotyczące pamięci masowej wzrosną, zawsze możesz przejść do przodu i skalować klaster. To kolejna funkcja, która jest unikalna dla HDFS. System dystrybucji plików zapewnia dwa mechanizmy skalowania klastra – skalowalność poziomą i pionową.
  5. Replikacja : Replikacja to funkcja, która odróżnia system HDFS od innych systemów pamięci masowej. Replikacja minimalizuje przypadki utraty danych z powodu niekorzystnego zdarzenia, takiego jak awaria węzła, awaria sprzętu i inne. Proces replikacji odbywa się regularnie i na różnych maszynach. Tak więc nie ma utraty danych w przypadku awarii maszyny. Możesz użyć dowolnej innej maszyny, aby uzyskać swoje dane.

Cele HDFS

  1. Zarządzanie ogromnymi zestawami danych: w przeciwieństwie do innych systemów dystrybucji plików, HDFS ma wymaganą architekturę do zarządzania aplikacjami, które zawierają ogromne zestawy danych. W zależności od ogromu danych zestawów danych może mieć setki węzłów dla każdego klastra.
  2. Wykrywanie i odzyskiwanie usterek: Niewiele osób może pokonać HDFS w jego możliwościach związanych z wykrywaniem usterek, a następnie odpowiednim radzeniem z nimi. Duża ilość sprzętu, o którym mowa, naraża HDFS na częste awarie podzespołów. Nie jest to jednak wada. Każdy system mający do czynienia z tak towarowym sprzętem jest narażony na awarię. Pozostaje jednak pytanie, czy system jest biegły w szybkim i automatycznym wykrywaniu tych awarii i jednoczesnej naprawie. HDFS z pewnością jest w stanie.
  3. Zwiększona przepustowość: HDFS wydajnie przetwarza każde zadanie, ponieważ rzeczywiste obliczenia są przeprowadzane w pobliżu samych danych. Jest to szczególnie ważne, gdy mamy do czynienia z ogromnymi zbiorami danych. Mechanizm ten zwiększa przepustowość i znacząco eliminuje problem ruchu sieciowego.

Podsumowując, chcielibyśmy powiedzieć, że HDFS może przechowywać ogromne ilości danych w sposób niezawodny i bez odczuwania skutków awarii sprzętu. Jest również wysoce odporny na błędy, wysoce dostępny i wysoce skalowalny.

Aby podróżować w głąb Hadoop i zostać ekspertem, sprawdź UpGrad & BITS Pilani's PG Certification w Big Data & Analytics. Zdobądź praktyczne doświadczenie, indywidualną współpracę z ekspertami branżowymi, oddanym mentorem, statusem absolwentów BITS Pilani i nie tylko.

Jeśli chcesz dowiedzieć się więcej o Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zawiera ponad 7 studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne praktyczne warsztaty, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Opanuj technologię przyszłości — Big Data

400+ godzin nauki. 14 języków i narzędzi. Status absolwenta IIIT-B.
Zaawansowany program certyfikacji w Big Data z IIIT Bangalore