Vysvětlete NameNode a DataNode v systému HDFS?

Klastr HDFS má dva typy uzlů pracujících ve schématu master-slave:

1. NameNode (hlavní uzel) a
2. Počet DataNode (podřízených/pracovních uzlů).

HDFS NameNode
1. Datový uzel. NameNode je hlavní centrální součástí rámce architektury HDFS.
2. NameNode je také známý jako Master node.
3. HDFS Namenode uchovává metadata, tj. počet datových bloků, název souboru, cestu, ID bloku, umístění bloku, počet replik a také konfiguraci související se Slave. Tato metadata jsou k dispozici v paměti hlavního uzlu pro rychlejší načítání dat.
4. Uzel NameNode uchovává metadata související se jmenným prostorem souborového systému v paměti pro rychlejší odezvu. Proto je potřeba více paměti. Konfigurace uzlu NameNode by tedy měla být nasazena na spolehlivé konfiguraci.
5. Uzel NameNode udržuje a spravuje podřízené uzly a přiděluje jim úkoly.
6. Uzel NameNode má znalosti o všech datových uzlech obsahujících datové bloky pro daný soubor.
7. Uzel NameNode koordinuje stovky nebo tisíce datových uzlů a obsluhuje požadavky přicházející z klientských aplikací.
Dva soubory ‚FSImage‘ a ‚EditLog‘ slouží k ukládání informací o metadatech.

FsImage: Jedná se o snímek souborového systému při spuštění jmenného uzlu. Jedná se o soubor „Image“. FsImage obsahuje celý jmenný prostor souborového systému a je uložen jako soubor v místním souborovém systému NameNode. Obsahuje také serializovanou podobu všech adresářů a souborových inodů v souborovém systému. Každý inode je vnitřní reprezentací metadat souboru nebo adresáře.

EditLogs: Obsahuje všechny poslední změny provedené v souborovém systému na nejnovějším FsImage. NameNode přijímá od klienta požadavek na vytvoření/aktualizaci/odstranění. Poté je tento požadavek nejprve zaznamenán do souboru s úpravami.

Funkce uzlu NameNode v systému HDFS

1. Funkce uzlu NameNode v systému HDFS

1. Je to hlavní démon, který udržuje a spravuje uzly DataNode (podřízené uzly).
2. Zaznamenává metadata všech souborů uložených v clusteru, např. umístění uložených bloků, velikost souborů, oprávnění, hierarchii atd.
3. Zaznamenává každou změnu, která proběhne v metadatech souborového systému. Pokud je například v systému HDFS smazán soubor, uzel NameNode to okamžitě zaznamená do záznamu EditLog.
4. Pravidelně přijímá Heartbeat a hlášení o blocích od všech uzlů DataNode v clusteru, aby se ujistil, že jsou uzly DataNode živé.
5. V případě, že je soubor smazán, uzel NameNode to okamžitě zaznamená do záznamu EditLog. Uchovává záznamy o všech blocích v systému HDFS a o tom, ve kterých uzlech se tyto bloky nacházejí.
6. Uzel NameNode je také zodpovědný za péči o faktor replikace všech bloků.
7. V případě selhání uzlu DataNode vybírá nové uzly DataNode pro nové repliky, vyrovnává využití disků a řídí komunikační provoz s uzly DataNode.

HDFS DataNode
1. V případě selhání uzlu NameNode vybírá nové uzly DataNode pro nové repliky. Datový uzel je také známý jako podřízený uzel (Slave node).
2. V architektuře Hadoop HDFS Datový uzel ukládá aktuální data v systému HDFS.
3. Datové uzly jsou zodpovědné za obsluhu, čtení a zápis požadavků klientů.
4. Datové uzly lze nasadit na komoditním hardwaru.
5. Datové uzly jsou v architektuře Hadoop HDFS součástí systému HDFS. Datové uzly odesílají jmennému uzlu informace o souborech a blocích uložených v tomto uzlu a odpovídají jmennému uzlu na všechny operace se souborovým systémem.
6. Při spuštění se datový uzel ohlásí jmennému uzlu spolu se seznamem bloků, za které je odpovědný.
7. Datový uzel je obvykle nakonfigurován s velkým prostorem na pevném disku. Protože skutečná data jsou uložena v uzlu DataNode.

Funkce uzlu DataNode v systému HDFS
1. V uzlu DataNode se ukládají data, která jsou v něm uložena. Jedná se o podřízené démony nebo procesy, které běží na každém podřízeném počítači.
2. Skutečná data jsou uložena v uzlech DataNode.
3. Uzly DataNode provádějí nízkoúrovňové požadavky na čtení a zápis od klientů souborového systému.
4. Každý uzel DataNode posílá každé 3 sekundy zprávu Heartbeat do uzlu Name Node a sděluje, že je naživu. Ve scénáři, kdy jmenný uzel neobdrží zprávu heartbeat od datového uzlu po dobu 10 minut, považuje jmenný uzel tento konkrétní datový uzel za mrtvý a zahájí proces replikace bloků na některý jiný datový uzel.
5. Všechny Datové uzly jsou v clusteru Hadoop synchronizovány tak, aby spolu mohly komunikovat a ujistit se o
i. Vyvážení dat v systému
ii. Přesun dat pro zachování vysoké replikace
iii. Kopírování dat v případě potřeby

.