Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
kj:hadoop-a-hdfs [18.08.2017 15:17] kj |
kj:hadoop-a-hdfs [14.09.2017 13:45] kj |
||
---|---|---|---|
Řádek 12: | Řádek 12: | ||
==== Architektura Hadoopu ==== | ==== Architektura Hadoopu ==== | ||
+ | |||
+ | {{ :kj:arch_hadoop.png?400| }} | ||
+ | |||
* HDFS: distribuovaný FS | * HDFS: distribuovaný FS | ||
+ | * velký soubor je rozdělen na 64 MB chunky a třikrát replikován | ||
+ | |||
+ | |||
* YARN: plánovač úloh a alokátor zdrojů | * YARN: plánovač úloh a alokátor zdrojů | ||
* Application – alokuje zdroje | * Application – alokuje zdroje | ||
* Resource Manager – globální správce zdrojů pro cluster. řeknu mu o paměť, RAM, on mi řekne, zda to jde | * Resource Manager – globální správce zdrojů pro cluster. řeknu mu o paměť, RAM, on mi řekne, zda to jde | ||
* Node Manager – podřízený správce zdrojů na nodu, kouká se, zda je dost místa pro danou operaci | * Node Manager – podřízený správce zdrojů na nodu, kouká se, zda je dost místa pro danou operaci | ||
+ | |||
+ | {{ https://2xbbhjxc6wk3v21p62t8n4d4-wpengine.netdna-ssl.com/wp-content/uploads/2012/08/yarnflow1-600x371.png?400| }} | ||
* MapReduce | * MapReduce | ||
* zvěřinec nad tím: Hive, Spark, HBase, Zookeeper (sdílení konfiguračních souborů, komunikace clusterů), Kafka, Flink, Kassandra, Kudu, ... | * zvěřinec nad tím: Hive, Spark, HBase, Zookeeper (sdílení konfiguračních souborů, komunikace clusterů), Kafka, Flink, Kassandra, Kudu, ... | ||
- | {{ :kj:arch_hadoop.png?400| }} | + | |
* **Name Node** - ukládá metadata | * **Name Node** - ukládá metadata | ||
Řádek 28: | Řádek 36: | ||
* Získává bloky od ostatních DataNodů | * Získává bloky od ostatních DataNodů | ||
* Dostává příkaz delete od NameNode | * Dostává příkaz delete od NameNode | ||
+ | * **Secondary NameNode** | ||
+ | * pomocník pro NameNode, NE jeho záloha | ||
+ | * dva soubory | ||
+ | * **fsimage** - snapshot FS poté, co NameNode začal | ||
+ | * **edit logs** - posloupnost změn na FS poté, co NameNode začal | ||
+ | * po restartu NN jsou editlogs aplikopvány na fsimage, abychom dostali poslední verzi snapshotu FS | ||
+ | * ale restarty NN jsou vzácné, takže edit logy můžou být hodně velké a merge může dlouho trvat | ||
+ | * je třeba nějak zmenšit velikost edit logů | ||
* **replikační faktor** většinou 3 - 2 repliky ve stejném racku, třetí replika mimo | * **replikační faktor** většinou 3 - 2 repliky ve stejném racku, třetí replika mimo | ||
Řádek 43: | Řádek 59: | ||
* vhodné, pokud se ptám jen na část sloupců | * vhodné, pokud se ptám jen na část sloupců | ||
* nevhodné pro modifikaci (v Hadoopu netřeba), náročné pro zápis | * nevhodné pro modifikaci (v Hadoopu netřeba), náročné pro zápis | ||
+ | * má metadata až na konci - předtím je ještě nezná, dává smysl | ||
* SequenceFile - vhodný formát pro hodně malých souborů | * SequenceFile - vhodný formát pro hodně malých souborů | ||
kj/hadoop-a-hdfs.txt · Poslední úprava: 18.09.2017 16:16 autor: kj