Úvod do architektury HDFS

HDFS je zkratka pro distribuovaný systém souborů Hadoop, který sám říká, že soubory jsou rozděleny do bloků a uloženy na několika počítačích.

Vlastnosti HDFS

Vlastnosti HDFS jsou následující:

1. Dostupnost

V HDFS se data pravidelně replikují mezi datovými uzly vytvořením repliky bloků na druhém datovém uzlu. Takže v případě jakéhokoli selhání hardwaru nebo chyby může uživatel získat svá data z jiného datového uzlu, kde byla data replikována.

2. Škálovatelnost

V HDFS jsou data ukládána na více datových uzlech ve formě bloků. HDFS umožňuje uživatelům v případě potřeby zvětšit velikost bloků. V HDFS se používají dva typy mechanismu škálovatelnosti - horizontální škálovatelnost a vertikální škálovatelnost.

3. Replikace

Jedná se o jedinečné vlastnosti systému HDFS, které uživateli umožňují snadný přístup k jejich datům v případě selhání hardwaru.

HDFS architektura

HDFS sleduje architekturu master-slave, která má následující komponenty:

1. NameNode:

NameNode je také známý jako hlavní uzel, protože zpracovává všechny bloky, které jsou přítomny v DataNodes.

NameNode provádí následující úkoly:

  • Spravujte všechny bloky DataNode
  • Poskytuje uživateli přístup k souborům
  • Zachovává všechny záznamy bloků přítomných v DataNode
  • NameNode zaznamenává všechny informace o souborech, například pokud je název souboru přejmenován nebo byl obsah změněn nebo odstraněn. NameNode tuto změnu okamžitě zaznamená v EditLogs
  • Záznamy všech bloků z datových uzlů zajistí, aby byly všechny bloky na DataNode naživu.
  • Pokud dojde k chybě, dojde-li k selhání hardwaru, okamžitě vybere další DataNode pro vytvoření replikace a správu komunikace se všemi DataNodes

Typy souborů v NameNode

NameNode obsahuje dva typy souborů FsImage a EditLogs

i. FsImage: Nazývá se také souborový obraz, protože obsahuje všechny informace o souborovém systému se jmennými prostory. Obsahuje také všechny adresáře a soubory souborového systému serializovaným způsobem.

ii. EditLogs: Aktuální úpravy provedené v souborech souborového systému jsou uloženy v EditLogs.

2. Sekundární NameNode

Sekundární NameNode se také nazývá jako kontrolní bod, protože provádí pravidelné kontrolní body. Působí jako pomocník pro primární NameNode.

Sekundární NameNode provádí následující úkoly

  • Sekundární NameNode kombinuje FsImage a EditLogs z NameNode.
  • Přečte všechny informace o souborovém systému z paměťové paměti NameNode a zapíše je na pevný disk souborového systému.
  • Pravidelně stahuje FsImage a EditLogs z NameNode a čte informace o provedených úpravách EditLogs a zapíše si změny do FsImage. Tento proces vytvoří nový FsImage, který je poté odeslán zpět do NameNode. Kdykoli se NameNode spustí, použije tyto FsImage.

3. DataNode

DataNode je také známý jako podřízený uzel, protože zpracovává každý uzel, který obsahuje data na podřízeném počítači. DataNode ukládá data ve formátu souboru ext3 nebo ext4.

Datový uzel provádí následující úkoly:

  • Všechna data jsou uložena na DataNodes
  • Provádí všechny operace se soubory podle požadavku uživatele, například čtení obsahu souborů, zápis nových dat do souborů,
  • Dodržuje také všechny pokyny, které poskytuje NameNode, například přejmenování souboru, odstranění některých bloků na DataNode, vytváření bloků atd.

4. Uzel kontrolního bodu:

Uzel Checkpoint je uzel, který v pravidelných intervalech vytvořil kontrolní bod souborů. Uzel Checkpoint v HDFS, stáhněte FsImage a EditLogs z NameNode a sloučte je, abyste vytvořili nový obrázek a poslali tento nový obrázek do NameNode. Poslední kontrolní bod je uložen v adresáři se stejnou strukturou jako adresář namenode. Z tohoto důvodu je obrázek s kontrolním bodem vždy k dispozici, pokud to potřebuje.

5. Záložní uzel:

Funkce záložního uzlu je podobná uzlu Checkpoint k provedení kontrolní úlohy. V Hadoop uzel Backup ukládá nejnovější a aktualizovanou kopii oboru názvů systému souborů. Není nutné stahovat soubory FsImage a editsLogs z aktivního NameNode, aby se vytvořil kontrolní bod v záložním uzlu, protože je synchronizován se stavem aktivního NameNode. Funkce záložního uzlu je přesnější, protože uloží jmenný prostor do místního souboru FsImage a resetuje editLogs.

6. Bloky:

Všechna data uživatelů jsou uložena v souborech HDFS, které jsou poté rozděleny do malých segmentů. Tyto segmenty jsou uloženy v DataNodes. Segmenty, které jsou přítomny v DataNodes, se nazývají jako blok. Výchozí velikost bloků těchto bloků je 128 MB. Velikost bloku lze změnit podle požadavků uživatelů konfigurací HDFS.

Pokud je velikost dat menší než velikost bloku, pak se velikost bloku rovná velikosti dat. Například, pokud jsou data 135 MB, vytvoří 2 bloky. Jeden bude mít výchozí velikost 128 MB a druhý bude mít pouze 7 MB, ne 128 MB. Z tohoto důvodu se ušetří mnoho času a času na disku.

Správa replikace v architektuře HDFS:

HDFS je odolný vůči poruchám. Tolerance poruch je síla systému v případě poruch a jak reaguje na chyby a obtížné podmínky. Odolnost proti poruchám funguje na základě procesu vytváření replik. Kopie uživatelských dat se ukládají na počítačích v clusteru DHFS. Pokud tedy v systému dojde k nějaké poruše nebo poruše, lze k kopii těchto dat získat přístup z ostatních počítačů klastru HDFS. Každý blok v architektuře HDFS má 3 repliky, které jsou uloženy v různých DataNodes. NameNode udržuje kopie dostupné v DataNodes. NameNode přidá nebo odstraní kopie na základě kritérií bloků replikovaných nebo nadměrně replikovaných.

Operace zápisu

Chcete-li zapisovat soubory do HDFS, klient bude komunikovat metadata do NameNode. Nameode odpovídá několika bloky, jejich umístěním, kopiemi atd. Klient rozděluje soubory na více bloků na základě informací o názvech. Poté je začne odesílat do DataNode. Nejprve klient odešle blok A do DataNode 1 s dalšími informacemi o DataNodes. Když DataNode 1 obdrží klientský blok A, DataNode 1 zkopíruje stejný blok do stejného stojanu do DataNode 2. Protože oba DataNodes jsou ve stejném stojanu, přenos bloku se provádí přes přepínač racku. DataNode 2 nyní zkopíruje stejný blok do DataNode 3 Protože oba DataNodes jsou v různých regálech, přenos bloku se provádí pomocí přepínače out-of -rack. Jakmile DataNode obdrží bloky klienta, zašle potvrzení NameMode. Každý blok souboru, stejný postup se opakuje.

Číst operace

Pro operace čtení první klient komunikuje pro metadata do NameNode. Klient ukončí NameNode s názvem a umístěním souboru. Nameode odpovídá číslem bloku, umístěním, kopiemi a dalšími informacemi. Poté klient komunikuje s DataNodes. Na základě informací přijatých od NameNode klient začne číst data paralelně z DataNodes. Když klient nebo aplikace přijme celý blok souboru, kombinuje tyto bloky do původní formy souboru.

Závěr - HDFS architektura

Pomocí NameNode a DataNode spolehlivě ukládá velmi velké soubory napříč počítači ve velkém clusteru. Z důvodu odolnosti proti chybám je užitečné přistupovat k datům při selhání softwaru nebo hardwaru. Takto funguje architektura HDFS.

Doporučené články

Toto byl průvodce architekturou HDFS. Zde jsme diskutovali základní pojmy s různými typy architektury, funkcemi a správou replikace architektury HDFS. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je datové modelování?
  2. Co je to vizualizace dat
  3. Co je datový sklad?
  4. Co je SQL Developer?

Kategorie: