Úvod do architektúry HDFS

HDFS znamená Hadoop Distributed File System, ktorý sám hovorí, že súbory sú rozdelené do blokov a uložené na niekoľkých počítačoch.

Funkcie HDFS

Vlastnosti HDFS sú tieto:

1. Dostupnosť

V HDFS sa údaje pravidelne replikujú medzi dátovými uzlami vytvorením repliky blokov na druhom dátovom uzle. Takže v prípade akejkoľvek poruchy hardvéru alebo chyby môže užívateľ získať svoje údaje z iného dátového uzla, kde boli údaje replikované.

2. Škálovateľnosť

V HDFS sú dáta uložené na viacerých dátových uzloch vo forme blokov. HDFS umožňuje používateľom zväčšiť veľkosť blokov kedykoľvek je to potrebné. V HDFS sa používajú dva typy mechanizmu škálovateľnosti - horizontálna škálovateľnosť a vertikálna škálovateľnosť.

3. Replikácia

Toto sú jedinečné vlastnosti systému HDFS, ktoré umožňujú používateľovi ľahký prístup k svojim údajom v prípade zlyhania hardvéru.

Architektúra HDFS

HDFS sleduje architektúru master-slave, ktorá má tieto komponenty:

1. NameNode:

NameNode je tiež známy ako hlavný uzol, pretože spracováva všetky bloky, ktoré sú prítomné v DataNodes.

NameNode vykonáva nasledujúce úlohy:

  • Spravujte všetky bloky DataNode
  • Poskytuje používateľovi prístup k súborom
  • Zachováva všetky záznamy o blokoch prítomných v DataNode
  • NameNode zaznamenáva všetky informácie o súboroch, napríklad ak je názov súboru premenovaný alebo obsah bol zmenený alebo odstránený. NameNode okamžite zaznamená túto zmenu v EditLogs
  • Berie záznamy všetkých blokov z dátových uzlov, aby zabezpečil, že všetky bloky sú nažive v DataNode.
  • V prípade chyby, ak dôjde k poruche hardvéru, okamžite vyberie iný DataNode na vytvorenie replikácie a správu komunikácie so všetkými DataNodes.

Typy súborov v NameNode

NameNode obsahuje dva typy súborov FsImage a EditLogs

i. FsImage: Nazýva sa tiež súborový obraz, pretože obsahuje všetky informácie o súborovom systéme s mennými priestormi. Obsahuje tiež všetky adresáre a súbory súborového systému serializovaným spôsobom.

ii. EditLogs: Aktuálne úpravy vykonané v súboroch súborového systému sú uložené v EditLogs.

2. Sekundárny názov uzla

Sekundárny NameNode sa tiež nazýva ako kontrolný uzol, pretože vykonáva pravidelné kontrolné body. Pôsobí ako pomocník pre primárny NameNode.

Sekundárny názov uzla vykonáva nasledujúce úlohy

  • Sekundárny NameNode kombinuje FsImage a EditLogs z NameNode.
  • Číta všetky informácie zo súborového systému z úložnej pamäte NameNode a zapisuje tieto informácie na pevný disk súborového systému.
  • V pravidelných intervaloch sťahuje súbory FsImage a EditLogs z NameNode a číta informácie o vykonaných úpravách EditLogs a zapíše túto úpravu do FsImage. Tento proces vytvorí nový FsImage, ktorý sa potom odošle späť do NameNode. Kedykoľvek sa NameNode spustí, použije tieto FsImage.

3. DataNode

DataNode je známy aj ako podradený uzol, pretože spracováva každý uzol, ktorý obsahuje údaje na podradenom počítači. DataNode ukladá údaje vo formáte súboru ext3 alebo ext4.

Uzol údajov vykonáva nasledujúce úlohy:

  • Všetky dáta sú uložené v DataNodes
  • Vykonáva všetky operácie so súbormi podľa požiadaviek používateľov, napríklad čítanie obsahu súborov, zapisovanie nových údajov do súborov,
  • Taktiež dodržiava všetky pokyny, ktoré poskytuje NameNode, napríklad premenovanie súboru, vymazanie niektorých blokov na DataNode, vytváranie blokov atď.

4. Uzol kontrolného bodu:

Uzol kontrolného bodu je uzol, ktorý vytvára kontrolný bod súborov v pravidelných intervaloch. Uzol kontrolného bodu v HDFS, stiahnite FsImage a EditLogs z NameNode a zlúčte ich, aby ste vytvorili nový obrázok a poslali tento nový obrázok do NameNode. Najnovší kontrolný bod je uložený v adresári s rovnakou štruktúrou ako adresár namenode. Z tohto dôvodu je kontrolný obrázok vždy k dispozícii, ak je to potrebné.

5. Záložný uzol:

Funkcia záložného uzla je podobná uzlu kontrolného bodu na vykonanie úlohy kontrolného stanovenia. V Hadoop uzol Backup ukladá najnovšiu a aktualizovanú kópiu priestoru názvov súborového systému. Na vytvorenie kontrolného bodu v záložnom uzle nie je potrebné sťahovať súbory FsImage a editsLogs z aktívneho NameNode, pretože je synchronizovaný so stavom aktívneho NameNode. Funkcia záložného uzla je presnejšia, pretože ukladá priestor názvov do miestneho súboru FsImage a resetuje editLogs.

6. Bloky:

Všetky údaje používateľov sú uložené v súboroch HDFS, ktoré sú potom rozdelené do malých segmentov. Tieto segmenty sú uložené v DataNodes. Segmenty, ktoré sú prítomné v DataNodes, sa nazývajú ako blok. Predvolená veľkosť blokov týchto blokov je 128 MB. Veľkosť bloku sa dá zmeniť podľa požiadaviek používateľov konfiguráciou HDFS.

Ak je veľkosť dát menšia ako veľkosť bloku, veľkosť bloku sa rovná veľkosti dát. Napríklad, ak sú údaje 135 MB, vytvoria sa 2 bloky. Jeden bude mať predvolenú veľkosť 128 MB a druhý bude mať iba 7 MB, nie 128 MB. Z tohto dôvodu sa ušetrí veľa času a času na disku.

Správa replikácie v architektúre HDFS:

HDFS je odolný voči poruchám. Odolnosť voči poruchám je sila systému v prípade porúch a ako reaguje na chyby a ťažké podmienky. Odolnosť proti poruchám funguje na základe procesu vytvárania replík. Kópie údajov používateľa sa ukladajú na počítačoch v klastri DHFS. Preto, ak dôjde k poruche alebo poruche v systéme, ku kópii týchto údajov je možné získať prístup z iných počítačov klastra HDFS. Každý blok v architektúre HDFS má 3 repliky, ktoré sú uložené v rôznych DataNodes. NameNode udržuje kópie dostupné v DataNodes. NameNode pridá alebo odstráni kópie na základe kritérií blokov pod replikáciou alebo nadmernou replikáciou.

Operácia zápisu

Ak chcete zapisovať súbory do systému HDFS, klient bude komunikovať metaúdaje do NameNode. Nameode odpovedá s niekoľkými blokmi, ich umiestnením, kópiami atď. Klient rozdeľuje súbory do viacerých blokov na základe informácií o názvoch. Potom ich začne odosielať do DataNode. Klient najskôr odošle blok A do DataNode 1 s ďalšími informáciami o DataNodes. Keď DataNode 1 dostane blok klienta A, DataNode 1 skopíruje ten istý blok do toho istého stojanu do DataNode 2. Pretože oba DataNodes sú v rovnakom stojane, prenos bloku sa uskutoční pomocou prepínača stojana. DataNode 2 teraz skopíruje ten istý blok do DataNode 3 Pretože oba DataNodes sú v rôznych stojanoch, prenos bloku sa uskutoční pomocou prepínača mimo dosahu. Akonáhle DataNode prijme bloky klienta, pošle potvrdenie NameMode. Každý blok súboru, rovnaký postup sa opakuje.

Prečítajte si operáciu

Pre operáciu Čítanie prvý klient komunikuje pre metaúdaje do NameNode. Klient ukončí NameNode s názvom súboru a umiestnením. Nameode odpovedá číslom bloku, umiestnením, kópiami a ďalšími informáciami. Potom klient komunikuje s DataNodes. Na základe informácií prijatých od NameNode klient začne čítať dáta paralelne z DataNodes. Keď klient alebo aplikácia prijme celý blok súboru, skombinuje tieto bloky do pôvodnej formy súboru.

Záver - HDFS Architecture

Pomocou NameNode a DataNode spoľahlivo ukladá veľmi veľké súbory medzi počítačmi vo veľkom klastri. Z dôvodu odolnosti voči chybám je užitočné pristupovať k údajom počas zlyhania softvéru alebo hardvéru. Takto funguje architektúra HDFS.

Odporúčané články

Toto bol sprievodca architektúrou HDFS. Tu sme diskutovali základné pojmy s rôznymi typmi architektúry, funkcií a správy replikácie architektúry HDFS. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je to modelovanie údajov?
  2. Čo je to vizualizácia dát
  3. Čo je to dátový sklad?
  4. Čo je SQL Developer?

Kategórie: