sql >> Databáze >  >> NoSQL >> HBase

HDFS Tutorial – Kompletní úvod do HDFS pro začátečníky

Chce vědět, jak Hadoop ukládá obrovské množství dat spolehlivým a odolným způsobem?

V tomto tutoriálu HDFS budeme diskutovat o jedné ze základních součástí Hadoop, tedy o Hadoop Distributed File System (HDFS).

Nejprve uvidíme úvod do Distributed FileSystem. Poté budeme studovat Hadoop Distributed FileSystem. Článek vysvětluje důvod použití HDFS, architektury HDFS a bloků v HDFS.

Článek také uvádí některé funkce Hadoop HDFS. Také se dozvíte o zprávách srdečního tepu v Hadoop HDFS.

Tento výukový program HDFS poskytuje kompletního úvodního průvodce nejspolehlivějším úložištěm Hadoop HDFS.

Začněme nejprve úvodem do Distributed FileSystem.

Distribuovaný souborový systém

Když datová sada překročí úložnou kapacitu jednoho stroje, je povinné rozdělit datovou sadu na několik samostatných strojů. Souborový systém, který spravuje data v síti počítačů, se nazývá distribuovaný souborový systém .

Distribuovaný souborový systém je souborový systém, který nám umožňuje ukládat data na více počítačích nebo uzlech v clusteru a umožňuje více uživatelům přístup k datům.

Vzhledem k tomu, že DFS je založeno na síti, nastupují všechny komplikace síťového programování, takže distribuovaný souborový systém je složitější než běžný souborový systém. Jednou z největších výzev v DFS je tolerovat selhání uzlu bez ztráty dat.

Hadoop přichází s distribuovaným souborovým systémem nazvaným Hadoop Distributed Filesystem pro ukládání obrovského množství dat a zároveň poskytuje odolnost proti chybám a vysokou dostupnost.

Zajímá vás HDFS? Nyní tedy začněme s výukovým programem HDFS.

Výukový program HDFS – Úvod

Hadoop Distributed FileSystem (HDFS) je distribuovaný souborový systém založený na Javě, který se v Hadoopu používá k ukládání velkého množství strukturovaných nebo nestrukturovaných dat o velikosti od GigaBytes po PetaBytes v klastru komoditního hardwaru. Je to dosud nejspolehlivější úložiště na planetě.

V HDFS jsou data uložena na více místech, takže pokud některý ze strojů selže, lze data načíst z jiného stroje obsahujícího kopii dat. Je tedy vysoce odolný proti chybám a zajišťuje žádnou ztrátu dat i v případě selhání hardwaru.

Je to hlavní součást Hadoopu spolu s MapReduce, YARN a dalšími běžnými nástroji.

Dodržuje pravidlo Napiš-jednou-přečti-mnoho filozofie, která zjednodušuje koherenci dat a umožňuje vysoce výkonný přístup.

Proč HDFS?

V dnešním IT světě se téměř 75 % světových dat nachází v Hadoop HDFS. Je to z následujícího důvodu:

  • HDFS ukládá data napříč komoditním hardwarem, díky čemuž nejsou potřeba špičkové stroje pro ukládání velkých dat. Poskytuje tak ekonomické úložiště pro ukládání velkých dat.
  • HDFS se řídí nejúčinnějším vzorem zpracování dat, kterým je vzor zápis-jednou-přečtení-mnohokrát. Datová sada vygenerovaná z různých zdrojů se zkopíruje a na této datové sadě se v průběhu času provedou různé analýzy. Je tedy nejlepší pro dávkové zpracování.
  • HDFS může ukládat data libovolné velikosti generovaná z libovolného zdroje v libovolných formátech, strukturovaných i nestrukturovaných.
  • Jeho model zápisu-jedno čtení-mnoho zmírňuje požadavky na řízení souběžnosti. K datům lze přistupovat vícekrát bez jakýchkoliv problémů týkajících se koherence dat.
  • HDFS funguje na předpokladu datové lokality, že přesun výpočtů do dat je mnohem jednodušší a rychlejší než přesun dat do výpočetní jednotky. HDFS usnadňuje lokalizaci logiky zpracování v blízkosti dat spíše než přesun dat do aplikačního prostoru. Tím se sníží přetížení sítě a celková doba obratu.

V tomto tutoriálu HDFS tedy přejdeme k architektuře HDFS.

Architektura HDFS

Hadoop DFS následuje master-slave architektura. HDFS se skládá ze dvou typů uzlů, kterými jsou hlavní uzel a podřízené uzly. Hlavní uzel spravuje jmenný prostor souborového systému, to znamená, že ukládá metadata o blocích souborů.

Podřízené uzly ukládají uživatelská data a jsou zodpovědné za zpracování dat na základě instrukce z hlavního uzlu.

Hlavní HDFS

Master v HDFS je středobodem Hadoop HDFS. Jsou to špičkové stroje, které ukládají metadata související se všemi soubory uloženými v HDFS. Spravuje a udržuje jmenný prostor souborového systému a poskytuje pokyny podřízeným uzlům.

NameNode je hlavní uzel v Hadoop HDFS.

HDFS Slave

Slave uzly jsou odpovědné za ukládání skutečných obchodních dat. Jsou to normální konfigurační stroje (komoditní hardware), které ukládají a zpracovávají datové sady podle pokynů z hlavního uzlu.

Datové uzly jsou podřízené uzly v Hadoop HDFS.

Název uzlu HDFS

NameNode je hlavní uzel. Spravuje operace jmenného prostoru souborového systému, jako je otevírání/zavírání, přejmenování souborů a adresářů. NameNode mapuje datové bloky na DataNodes a zaznamenává každou změnu v jmenném prostoru souborového systému.

Datový uzel HDFS

DataNodes jsou podřízené uzly, které zpracovávají požadavky na čtení/zápis od klientů HDFS. DataNodes vytváří, odstraňuje a replikuje datové bloky podle pokynů z řídícího uzlu názvu.

Zajímá vás, jak se data ukládají do HDFS?

Blokování v HDFS

HDFS rozdělí soubory na bloky o velikosti bloku nazývané datové bloky. Tyto bloky jsou uloženy napříč více datovými uzly v clusteru. Výchozí velikost bloku je 128 MB. Můžeme nakonfigurovat výchozí velikost bloku v závislosti na konfiguraci clusteru.

U clusteru se špičkovými stroji může být velikost bloku velká (např. 256 Mb nebo více). U clusteru se stroji s konfigurací jako 8Gb RAM může být velikost bloku menší (např. 64 Mb).

HDFS také vytváří repliky bloků na základě faktoru replikace (číslo, které definuje celkový počet kopií bloku souboru). Ve výchozím nastavení je faktor replikace 3. To znamená, že se vytvoří 3 kopie každého bloku a uloží se na více uzlech.

Pokud některý z DataNode selže, je blok načten z jiného DataNode obsahujícího repliku bloku. Díky tomu je HDFS odolnost proti chybám.

Přemýšleli jste, jak NameNode zjistí selhání DataNode?

Selhání datového uzlu

Všechny DataNodes v Hadoop HDFS nepřetržitě posílají zprávu s malým srdečním tepem (signály) do NameNode, aby každé 3 sekundy řekli „I am Alive“.

Pokud NameNode neobdrží zprávu prezenčního signálu od žádného konkrétního DataNode po dobu delší než 10 minut, považuje DataNode za mrtvý a začne vytvářet repliku bloků, které byly na tomto DataNode dostupné.

NameNode dává pokyn DataNodes obsahujícím kopii těchto dat, aby replikovaly tato data na jiné DataNode, aby byla replikace vyvážena. Tímto způsobem NameNode zjistí selhání DataNode.

Chcete vědět, jak NameNode umísťuje repliky na různé DataNode? Pojďme prozkoumat povědomí o racku v HDFS, abychom získali odpověď na výše uvedenou otázku.

Povědomí o stojanech v HDFS

Hadoop HDFS ukládá data napříč clusterem komoditního hardwaru. Pro zajištění odolnosti proti chybám jsou repliky bloků vytvářeny a ukládány na různých DataNodes.

NameNode umístí repliky bloků na více datových uzlů podle algoritmu Rack Awareness, aby bylo zajištěno, že nedojde ke ztrátě dat, i když DataNode nebo celý stojan selže. NameNode umístí první repliku na nejbližší DataNode.

Uloží druhou repliku v jiném DataNode ve stejném stojanu a třetí repliku v jiném DataNode v jiném stojanu.

Pokud je replikační faktor 2, pak se druhá replika umístí na jiný DataNode do jiného stojanu, takže pokud selže celý stojan, pak bude také systém vysoce dostupný.

Hlavním účelem zásad umístění replik s ohledem na rack je zlepšit odolnost proti chybám, spolehlivost dat a dostupnost.

Dále v tutoriálu HDFS diskutujeme o některých klíčových funkcích Hadoop HDFS.

Důležité funkce Hadoop HDFS

1. Vysoká dostupnost

Jedná se o vysoce dostupný souborový systém. V tomto systému souborů se data replikují mezi uzly v clusteru Hadoop vytvořením repliky bloků na ostatních podřízených zařízeních přítomných v clusteru HDFS. Kdykoli tedy uživatel chce získat přístup k těmto datům, může ke svým datům přistupovat z podřízených jednotek, které obsahují jeho bloky.

2. Odolnost proti chybám

Tolerance chyb v Hadoop HDFS je pracovní síla systému v nepříznivých podmínkách. Je vysoce odolný proti chybám. Rámec Hadoop rozděluje data do bloků.

Poté vytvoří více kopií bloků na různých počítačích v clusteru. Když se tedy některý počítač v clusteru porouchá, klient může snadno přistupovat ke svým datům z druhého počítače, který obsahuje stejnou kopii datových bloků.

3. Vysoká spolehlivost

HDFS poskytuje spolehlivé úložiště dat. Dokáže ukládat data v rozsahu 100 s petabajtů. HDFS spolehlivě ukládá data do clusteru. Rozdělí data do bloků. Potom framework Hadoop ukládá tyto bloky na uzlech přítomných v clusteru.

HDFS také spolehlivě ukládá data vytvořením repliky každého bloku přítomného v clusteru. Poskytuje tak možnost odolnosti proti chybám.

4. Replikace

Replikace dat je jedinečná funkce HDFS. Replikace řeší problém ztráty dat za nepříznivých podmínek, jako je selhání hardwaru, pád uzlů atd. HDFS udržuje proces replikace v pravidelných časových intervalech.

Také neustále vytváří repliky uživatelských dat na různých počítačích přítomných v clusteru. Takže, když některý uzel selže, uživatel může přistupovat k datům z jiných počítačů. Neexistuje tedy žádná možnost ztráty uživatelských dat.

5. Škálovatelnost

Ukládá data na více uzlech v clusteru. Kdykoli se tedy požadavky zvýší, můžete cluster škálovat. V HDFS jsou k dispozici dva mechanismy škálovatelnosti:Vertikální a Horizontální škálovatelnost.

6. Distribuované úložiště

Funkce HDFS jsou dosahovány prostřednictvím distribuovaného úložiště a replikace. Ukládá data distribuovaným způsobem mezi uzly. V Hadoopu jsou data rozdělena do bloků a uložena na uzlech přítomných v clusteru.

Poté vytvoří repliku každého bloku a uloží je na jiné uzly. Když dojde k selhání jediného počítače v clusteru, můžeme snadno přistupovat k našim datům z ostatních uzlů, které obsahují jeho repliku.

Dále v tutoriálu HDFS probereme některé užitečné operace HDFS.

Provoz HDFS

Hadoop HDFS má mnoho podobností se souborovým systémem Linux. Můžeme provádět téměř všechny operace, které můžeme dělat s místním souborovým systémem, jako je vytvoření adresáře, zkopírování souboru, změna oprávnění atd.

Poskytuje také různá přístupová práva, jako je čtení, zápis a spouštění uživatelům, skupinám a dalším.

1. Přečtěte si operaci

Když chce klient HDFS číst jakýkoli soubor z HDFS, klient nejprve interaguje s NameNode. NameNode je jediné místo, které ukládá metadata. NameNode určuje adresu podřízených jednotek, kde jsou data uložena. Poté klient interaguje se zadanými DataNodes a čte data odtud.

Klient HDFS spolupracuje s rozhraním API distribuovaného systému souborů. Poté odešle požadavek NameNode o zaslání umístění bloku. NameNode nejprve zkontroluje, zda má klient dostatečná oprávnění pro přístup k datům nebo ne? Poté bude NameNode sdílet adresu, na které jsou data uložena v DataNode.

NameNode poskytuje token klientovi, který ukazuje DataNode pro čtení souboru z bezpečnostních důvodů. Když klient přejde do DataNode, aby si přečetl soubor, po kontrole tokenu umožní DataNode klientovi číst tento konkrétní blok.

Poté klient otevře vstupní proud a začne číst data ze zadaných DataNodes. Tímto způsobem tedy klient čte data přímo z DataNode.

2. Operace zápisu

Při psaní souboru klient nejprve interaguje s NameNode. HDFS NameNode poskytuje adresu DataNode, na kterou musí klient zapsat data.

Když klient dokončí zápis bloku, DataNode začne replikovat blok do jiného DataNode. Poté zkopíruje blok do třetího DataNode. Jakmile vytvoří požadovanou replikaci, odešle klientovi konečné potvrzení. Ověření je stejné jako operace čtení.

Klient pouze odešle 1 kopii dat bez ohledu na náš replikační faktor, zatímco DataNodes replikují bloky. Zápis souboru není nákladný, protože zapisuje více bloků paralelně více bloků na několika DataNode.

Shrnutí

V závěru výukového programu HDFS můžeme říci, že Hadoop HDFS ukládá data distribuovaným způsobem napříč clusterem komoditního hardwaru.

Hadoop HDFS je vysoce spolehlivý, dosud známý a odolný úložný systém s vysokou dostupností. Řídí se architekturou master-slave, kde NameNode je hlavní uzel a DataNodes jsou podřízené uzly.

HDFS také rozděluje vstupní soubor klienta do bloků o velikosti 128 MB, které můžeme nakonfigurovat podle našich požadavků. Ukládá také repliky bloků, aby byla zajištěna odolnost proti chybám.

NameNode se řídí zásadou informovanosti o stojanech pro umístění replik na DataNode, aby bylo zajištěno, že během selhání stroje nebo selhání hardwaru nedojde ke ztrátě dat. Kromě toho DataNodes posílají zprávu o srdečním tepu NameNode, aby se ujistili, že jsou naživu.

Během čtení nebo zápisu souboru klient nejprve interaguje s NameNode.

Hadoop HDFS je škálovatelný, spolehlivý, distribuovaný, chybově odolný a vysoce dostupný úložný systém pro ukládání velkých dat.


  1. Jak spustit soubor js v mongo pomocí jarních dat

  2. Redis seznam vnořených klíčů

  3. node.js &express - globální moduly a osvědčené postupy pro strukturu aplikací

  4. Jak povolit TLS pro Redis 6 na Sidekiq?