Kaj je Hadoop?
Apache Hadoop je odprtokodni programski okvir, ki se uporablja za razvoj aplikacij za obdelavo podatkov, ki se izvajajo v porazdeljenem računalniškem okolju.
Aplikacije, zgrajene s pomočjo HADOOP-a, se izvajajo na velikih naborih podatkov, razporejenih po skupinah blagovnih računalnikov. Blagovni računalniki so poceni in široko dostopni. Ti so v glavnem koristni za doseganje večje računske moči po nizki ceni.
Podobno kot podatki, ki se nahajajo v lokalnem datotečnem sistemu osebnega računalnika, se tudi v Hadoopu podatki nahajajo v porazdeljenem datotečnem sistemu, ki se imenuje Hadoop Distributed File System . Model obdelave temelji na konceptu "Data Locality", pri čemer se računska logika pošlje vozliščem grozda (strežniku), ki vsebujejo podatke. Ta računska logika ni nič drugega kot prevedena različica programa, napisanega v jeziku visoke ravni, kot je Java. Takšen program obdeluje podatke, shranjene v Hadoop HDFS.
Ali veš? Računalniška gruča je sestavljena iz niza več procesnih enot (pomnilniški disk + procesor), ki so med seboj povezane in delujejo kot en sam sistem.
V tej vadnici boste izvedeli,
- Hadoop EcoSystem in komponente
- Hadoop arhitektura
- Značilnosti "Hadoop"
- Topologija omrežja v Hadoopu
Hadoop EcoSystem in komponente
Spodnji diagram prikazuje različne komponente v ekosistemu Hadoop-
Apache Hadoop je sestavljen iz dveh podprojektov -
- Hadoop MapReduce: MapReduce je računski model in programski okvir za pisanje aplikacij, ki se izvajajo v Hadoopu. Ti programi MapReduce lahko vzporedno obdelajo ogromne podatke na velikih gručah računskih vozlišč.
- HDFS ( Hadoop Distributed File System ): HDFS skrbi za shranjevalni del programov Hadoop. Aplikacije MapReduce porabljajo podatke iz HDFS. HDFS ustvari več kopij podatkovnih blokov in jih distribuira na računskih vozliščih v gruči. Ta porazdelitev omogoča zanesljive in izjemno hitre izračune.
Čeprav je Hadoop najbolj znan po MapReduceu in njegovem porazdeljenem datotečnem sistemu - HDFS, se izraz uporablja tudi za družino sorodnih projektov, ki spadajo pod okrilje porazdeljenega računalništva in obsežne obdelave podatkov. Drugi projekti, povezani s Hadoopom v Apacheju, so Hive, HBase, Mahout, Sqoop, Flume in ZooKeeper.
Hadoop arhitektura
Hadoop ima arhitekturo Master-Slave za shranjevanje podatkov in porazdeljeno obdelavo podatkov z uporabo metod MapReduce in HDFS.
NameNode:
NameNode je predstavljal vse datoteke in imenike, ki se uporabljajo v imenskem prostoru
DataNode:
DataNode vam pomaga upravljati stanje vozlišča HDFS in omogoča interakcijo z bloki
MasterNode:
Glavno vozlišče vam omogoča izvajanje vzporedne obdelave podatkov s pomočjo Hadoop MapReduce.
Podrejeno vozlišče:
Podrejena vozlišča so dodatni stroji v gruči Hadoop, ki vam omogočajo shranjevanje podatkov za izvajanje zapletenih izračunov. Poleg tega ima vse podrejeno vozlišče sledilnik opravil in DataNode. To vam omogoča sinhronizacijo procesov z NameNode in Job Tracker.
V Hadoopu lahko glavni ali podrejeni sistem nastavite v oblaku ali lokalno
Značilnosti "Hadoop"
• Primerno za analizo velikih podatkov
Ker so veliki podatki v naravi porazdeljeni in nestrukturirani, so grozdi HADOOP najbolj primerni za analizo velikih podatkov. Ker na računska vozlišča teče logika obdelave (ne dejanski podatki), se porabi manj pasovne širine omrežja. Ta koncept se imenuje koncept lokalnosti podatkov, ki pomaga povečati učinkovitost aplikacij na osnovi Hadoop.
• Razširljivost
Grozde HADOOP lahko enostavno poljubno prilagodite z dodajanjem dodatnih vozlišč gruč in tako omogočite rast velikih podatkov. Prav tako skaliranje ne zahteva sprememb logike aplikacije.
• Toleranca napak
HADOOP ekosistem ima možnost kopiranja vhodnih podatkov na druga vozlišča grozda. Tako lahko v primeru okvare vozlišča gruče obdelava podatkov še vedno poteka z uporabo podatkov, shranjenih na drugem vozlišču gruče.
Topologija omrežja v Hadoopu
Topologija (ureditev) omrežja vpliva na delovanje grozda Hadoop, ko velikost grozda Hadoop naraste. Poleg zmogljivosti je treba skrbeti tudi za visoko razpoložljivost in obvladovanje napak. Da bi dosegli ta Hadoop, oblikovanje grozdov uporablja omrežno topologijo.
Običajno je pasovna širina omrežja pomemben dejavnik, ki ga je treba upoštevati pri oblikovanju katerega koli omrežja. Ker bi bilo merjenje pasovne širine lahko težavno, je v Hadoopu mreža predstavljena kot drevo, razdalja med vozlišči tega drevesa (število hmeljev) pa je pomemben dejavnik pri oblikovanju skupine Hadoop. Tu je razdalja med dvema vozliščema enaka vsoti njune razdalje do najbližjega skupnega prednika.
Grozd Hadoop sestavljajo podatkovni center, stojalo in vozlišče, ki dejansko izvaja opravila. Tu je podatkovni center sestavljen iz stojal, stojalo pa iz vozlišč. Pasovna širina omrežja, ki je na voljo procesom, se razlikuje glede na lokacijo procesov. To pomeni, da je razpoložljiva pasovna širina manjša, ko se oddaljujemo od-
- Procesi na istem vozlišču
- Različna vozlišča na istem stojalu
- Vozlišča na različnih stojalih istega podatkovnega centra
- Vozlišča v različnih podatkovnih centrih