Kas yra Hadoopas? Įvadas, architektūra, ekosistema, komponentai

Kas yra Hadoopas?

„Apache Hadoop“ yra atviro kodo programinės įrangos sistema, naudojama kuriant duomenų apdorojimo programas, kurios vykdomos paskirstytoje skaičiavimo aplinkoje.

Programos, sukurtos naudojant HADOOP, vykdomos dideliuose duomenų rinkiniuose, paskirstytuose prekių kompiuterių grupėse. Prekės kompiuteriai yra pigūs ir plačiai prieinami. Tai daugiausia naudinga norint pasiekti didesnę skaičiavimo galią už mažą kainą.

Panašiai kaip duomenys, esantys asmeninio kompiuterio sistemos vietinėje failų sistemoje, taip pat ir „Hadoop“, duomenys yra paskirstytoje failų sistemoje, kuri vadinama „ Hadoop“ paskirstytųjų failų sistema . Apdorojimo modelis grindžiamas „duomenų lokalizacijos“ koncepcija, kai skaičiavimo logika siunčiama į klasterio mazgus (serverį), kuriuose yra duomenų. Ši skaičiavimo logika yra ne kas kita, o sukompiliuota programos versija, parašyta aukšto lygio kalba, pavyzdžiui, „Java“. Tokia programa apdoroja duomenis, saugomus „Hadoop HDFS“.

Ar tu žinai? Kompiuterių grupę sudaro daugybė procesorių (saugojimo diskas + procesorius), kurie yra sujungti vienas su kitu ir veikia kaip viena sistema.

Šioje pamokoje sužinosite,

  • „Hadoop EcoSystem“ ir komponentai
  • Hadoopo architektūra
  • „Hadoop“ ypatybės
  • Tinklo topologija „Hadoop“

„Hadoop EcoSystem“ ir komponentai

Žemiau pateiktoje diagramoje parodyti įvairūs Hadoop ekosistemos komponentai.

„Apache Hadoop“ sudaro du paprojekčiai -

  1. „Hadoop MapReduce“: „ MapReduce“ yra skaičiavimo modelis ir programinės įrangos pagrindas programoms, kurios veikia „Hadoop“, rašyti. Šios „MapReduce“ programos gali vienu metu apdoroti milžiniškus duomenis dideliuose skaičiavimo mazgų klasteriuose.
  2. HDFS („ Hadoop“ paskirstyta failų sistema ): HDFS rūpinasi „Hadoop“ programų saugojimo dalimi. „MapReduce“ programos sunaudoja duomenis iš HDFS. HDFS sukuria kelias duomenų blokų kopijas ir paskirsto jas grupių skaičiavimo mazguose. Šis paskirstymas leidžia patikimai ir labai greitai atlikti skaičiavimus.

Nors „Hadoop“ yra geriausiai žinomas dėl „MapReduce“ ir jos paskirstytos failų sistemos „HDFS“, šis terminas taip pat vartojamas susijusių projektų, kuriems taikoma paskirstytojo skaičiavimo ir didelio masto duomenų apdorojimo skėtis, šeimai. Kiti su „Hadoop“ susiję projektai „Apache“ yra „ Hive“, „HBase“, „Mahout“, „Sqoop“, „Flume“ ir „ZooKeeper“.

Hadoopo architektūra

Aukšto lygio „Hadoop“ architektūra

„Hadoop“ turi „Master-Slave“ architektūrą duomenų saugojimui ir paskirstytam duomenų apdorojimui naudojant „MapReduce“ ir HDFS metodus.

NameNode:

„NameNode“ žymi visus failus ir katalogus, kurie naudojami vardų srityje

DataNode:

„DataNode“ padeda valdyti HDFS mazgo būseną ir leidžia sąveikauti su blokais

„MasterNode“:

Pagrindinis mazgas leidžia lygiagrečiai apdoroti duomenis naudojant „Hadoop MapReduce“.

Vergo mazgas:

Verginiai mazgai yra papildomos „Hadoop“ sankaupos mašinos, leidžiančios saugoti duomenis ir atlikti sudėtingus skaičiavimus. Be to, visi vergo mazgai yra su „Task Tracker“ ir „DataNode“. Tai leidžia sinchronizuoti procesus su „NameNode“ ir „Job Tracker“.

„Hadoop“ sistemoje pagrindinę ar pavaldžią sistemą galima nustatyti debesyje arba vietoje

„Hadoop“ ypatybės

• Tinka didelių duomenų analizei

Kadangi „Big Data“ pobūdis paprastai yra paskirstytas ir nestruktūrizuotas, HADOOP sankaupos yra tinkamiausios didžiųjų duomenų analizei. Kadangi apdorojimo logika (o ne faktiniai duomenys) teka į skaičiavimo mazgus, sunaudojama mažiau tinklo pralaidumo. Ši koncepcija vadinama duomenų lokalizacijos koncepcija, kuri padeda padidinti „Hadoop“ pagrįstų programų efektyvumą.

• Mastelis

HADOOP sankaupas galima lengvai bet kokiu mastu padidinti pridedant papildomus sankaupos mazgus ir taip sudarant galimybes didinti didelius duomenis. Taip pat masteliui nereikia modifikuoti programų logikos.

• Gedimų tolerancija

HADOOP ekosistema numato įvesties duomenų atkartojimą kituose klasterio mazguose. Tokiu būdu sugedus sankaupos mazgui, duomenų apdorojimas vis tiek gali vykti naudojant duomenis, saugomus kitame sankaupos mazge.

Tinklo topologija „Hadoop“

Tinklo topologija (išdėstymas) daro įtaką „Hadoop“ sankaupos našumui, kai „Hadoop“ sankaupos dydis auga. Be našumo, taip pat reikia rūpintis dideliu gedimų prieinamumu ir tvarkymu. Norint pasiekti šį „Hadoop“, klasterių formavimasis naudoja tinklo topologiją.

Paprastai tinklo pralaidumas yra svarbus veiksnys, į kurį reikia atsižvelgti formuojant bet kurį tinklą. Tačiau kadangi matuoti pralaidumą gali būti sunku, Hadoop tinklas vaizduojamas kaip medis, o atstumas tarp šio medžio mazgų (apynių skaičius) laikomas svarbiu veiksniu formuojant Hadoop klasterį. Čia atstumas tarp dviejų mazgų yra lygus jų atstumo iki artimiausio bendro protėvio sumai.

„Hadoop“ grupę sudaro duomenų centras, stovas ir mazgas, kuris iš tikrųjų vykdo užduotis. Čia duomenų centrą sudaro stelažai, o stelažą - mazgai. Procesams prieinamas tinklo pralaidumas skiriasi priklausomai nuo procesų vietos. Tai reiškia, kad turimas pralaidumas tampa mažesnis, kai mes einame nuo

  • Procesai tame pačiame mazge
  • Skirtingi mazgai toje pačioje lentynoje
  • Mazgai skirtinguose to paties duomenų centro stelažuose
  • Mazgai skirtinguose duomenų centruose

Įdomios straipsniai...