sql >> Databáze >  >> RDS >> Database

Úvod do HDFS | Co je HDFS a jak to funguje?

Základní technika ukládání souborů do úložiště spočívá v systému souborů, který operační prostředí používá. Na rozdíl od běžných souborových systémů používá Hadoop jiný souborový systém, který se zabývá velkými datovými sadami v distribuované síti. Jmenuje se Hadoop Distributed File System (HDFS) . Tento článek představuje tuto myšlenku se souvisejícími základními informacemi pro začátek.

Co je souborový systém?

systém souborů typicky je metoda a datová struktura, kterou operační systém používá ke správě souborů na disku nebo oddílu. Z pohledu magnetického disku jsou všechna data nábojem uloženým v sektorech napříč stopami. Představte si stopy jako spirálové řady a sektory jako malé buňky napříč spirálovými dráhami. Nyní, když požádáme disk, aby našel nějaká data, může v nejlepším případě přesměrovat hlavu do některých sektorů ve spirále. Tato nezpracovaná data nemají smysl, pokud do toho nevstoupí operační systém; má na starosti vymezování informací z kolekce sektorů, které mají být rozpoznány jako soubor. Operační systém organizuje informace do účetní datové struktury zvané souborový systém. Tato struktura definuje vzor účetnictví. Existuje však určitý technický rozdíl v tom, jak operační systémy spravují tuto strukturu. Například Windows používá model FAT32, NTFS, Linux používá EXT2, EXT3 a tak dále. Ale základní myšlenkou je, že všechny organizují data podle nějaké definované struktury.

Organizace souborového systému je primárně zodpovědná za správu vytváření, úprav a mazání souborů (adresáře jsou také soubory), diskových oddílů, velikostí souborů atd. a přímo operují s nezpracovanými sektory disku nebo diskového oddílu.

Soubory v distribuovaném systému

Charakteristiky distribuovaného systému se liší v tom smyslu, že úložiště je rozmístěno mezi více počítači v síti. Jedno úložiště nemůže obsahovat tak velké množství dat. Pokud má jeden stroj omezenou kapacitu úložiště a výpočetní výkon, ale když jsou úlohy zpracování a úložiště distribuovány mezi stroje po síti, výkon a účinnost se znásobí. To nejen otevírá možnost rozsáhlého výpočetního výkonu, ale také využívá využití stávající infrastruktury. Výsledkem je, že náklady jsou minimalizovány, ale efektivita se zvyšuje. Každý jednotlivý stroj v síti se stává potenciálním tahounem, který obsahuje omezená data a zároveň je společně součástí neomezeného úložiště a rozsáhlého výpočetního výkonu. Kompromisem je složitost. Pokud to lze využít inovativními technikami, distribuovaný systém je vynikající pro řešení problémů velkých dat. Souborový systém HDFS toho chce dosáhnout. Ve skutečnosti kromě HDFS existuje mnoho dalších podobných distribuovaných souborových systémů, jako je IBM GPFS (General Parallel File System), Ceph (odkaz na Wikipedii:seznam distribuovaných souborových systémů) a podobně. Všichni se snaží tento problém řešit z různých směrů s různou mírou úspěšnosti.

Přehled HDFS

Normální souborový systém byl navržen tak, aby fungoval na jednom počítači nebo jednom operačním prostředí. Datové sady v Hadoopu vyžadují úložnou kapacitu nad rámec toho, co může poskytnout jeden fyzický stroj. Proto je nezbytné rozdělit data na několik počítačů. To vyžaduje speciální proces pro správu souborů v distribuované síti. HDFS je souborový systém, který konkrétně řeší tento problém. Tento souborový systém je složitější než běžný souborový systém, protože se musí vypořádat s programováním sítě, fragmentací, odolností proti chybám, kompatibilitou s místním souborovým systémem a tak dále. Umožňuje společnosti Hadoop spouštět aplikace Big Data na více serverech. Vyznačuje se vysokou odolností proti chybám a vysokou datovou propustností napříč levným hardwarem. Cíl souborového systému HDFS je následující:

  • Pro práci s velmi velkými soubory
  • Přístup k datovým proudům k systému souborů musí využívat vzor zápisu jednou a mnohonásobného čtení.
  • Provoz na levném běžném hardwaru
  • Musí využívat přístup k datům s nízkou latencí.
  • Podporujte velké množství souborů
  • Podpora více zapisovačů souborů s libovolnými úpravami souborů

Základy HDFS

Nejmenší množství dat, které se čte a zapisuje na disk, má něco, co se nazývá velikost bloku . Obvykle je velikost tohoto bloku 512 bajtů a bloky systému souborů mají několik kilobajtů. HDFS funguje na stejném principu, ale velikost bloku je mnohem větší. Větší velikost bloku využívá vyhledávání tím, že minimalizuje vyhledávání, a tedy i náklady. Tyto bloky jsou distribuovány v rámci něčeho, čemu se říká klastry , což nejsou nic jiného než bloky a kopie bloků na různých serverech v síti. Jednotlivé soubory jsou replikovány mezi servery v clusteru.

V clusteru fungují dva typy uzlů ve schématu master-slave. Hlavní uzel se nazývá namenodes a pracovní uzel se nazývá datanodes . Prostřednictvím těchto uzlů spravuje HDFS souborový (a adresářový) systémový strom a metadata. Ve skutečnosti je soubor rozdělen do bloků a uložen v podmnožině datanodů šířit se po shluku. datanode je zodpovědný za čtení, zápis, vytváření bloků, mazání a replikace v systému souborů.

namenodes , na druhé straně jsou servery, které monitorují přístup k systému souborů a udržují datové soubory v HDFS. Mapují bloky na datový uzel a zpracovávají požadavky na otevření, zavření a přejmenování souborů/adresářů.

Datanody jsou hlavní částí souborového systému a vykonávají práci při ukládání a načítání požadavků na bloky od klienta. Název je správce, kterému datanodes zpráva. To znamená, že pokud jsou jmenné uzly vymazány, informace o souborech by byly ztraceny. Hadoop proto zajišťuje, že jmenný uzel je dostatečně odolný, aby vydržel jakýkoli druh selhání. Jednou z technik, jak to zajistit, je zálohování v sekundárním jmenném uzlu pravidelným slučováním obrázku jmenného prostoru s protokolem úprav. sekundární jmenný uzel obvykle sídlí na samostatném počítači, aby převzal roli primárního namenode v případě závažného selhání.

Existuje mnoho způsobů interakce se souborovým systémem HDFS, ale rozhraní příkazového řádku je možná nejjednodušší a nejběžnější. Hadoop lze nainstalovat na jeden stroj a spustit, abyste jej ochutnali z první ruky. tím se budeme zabývat v následujících článcích, takže zůstaňte naladěni.

Operace systému souborů

Operace souborového systému HDFS jsou docela podobné normálním operacím souborového systému. Zde je několik výpisů jen pro představu.

Zkopíruje soubory z místního souborového systému do HDFS:

% hadoop fs -copyFromLocal docs/sales.txt hdfs://localhost/
   user/mano/sales.txt

Vytvoří adresář v HDFS:

% hadoop fs -mkdir students

Vypisuje soubory a adresáře v aktuálním pracovním adresáři v HDFS:

% hadoop fs -ls .

Závěr

HDFS je implementace toho, co dělá souborový systém reprezentovaný Hadoopovou abstrakcí. Hadoop je napsán v Javě; proto jsou všechny interakce souborového systému zasahovány prostřednictvím Java API. Rozhraní příkazového řádku je shell určený pro běžné interakce. Studium HDFS otevírá jiný obzor do sektoru distribuované architektury a jejích složitých pracovních postupů. Na zdokonalení tohoto modelu výpočetní techniky se čeká spousta práce, jejímž impulsem jsou v posledních letech nepochybně velká data.

Odkaz

Dokumentace architektury HDFS


  1. MySQL SELECT WHERE datum a čas odpovídá dni (a nemusí nutně času)

  2. Jak hodnoty NULL ovlivňují výkon při vyhledávání v databázi?

  3. Výjimka SQLite při pokusu o odstranění řádku

  4. Kontrola stavu databázových poštovních front na serveru SQL Server (T-SQL)