Apache Hadoop

Allikas: Vikipeedia
Jump to navigation Jump to search
Arendaja Apache Software Foundation

Apache Hadoop on avatud lähtekoodiga tarkvaralahenduste teek, mille eesmärgiks on suuremahulistel andmehulkadel informatsiooni töötlemine ning analüüsimine, kasutades sealjuures lihtsaid programmeerimismudeleid. Hadoop on disainitud töötamaks nii üksikul serveril kui ka tuhandetel masinatel, kasutades tarkvarasse sisseehitatud lahendusi, et tagada riistvaraliste tõrgete automaatne käsitlemine õigeagselt ilma arvutusprotsessi häirimata[1]. Enamjaolt kasutatakse süsteemis Java programmeerimiskeelt.

Apache Hadoop koosneb peamiselt järgmistest moodulitest:[1]

  • Hadoop Common – kesksed tööriistad, mis toetavad ülejäänud moodulite tööd
  • Hadoop Distributed File System (HDFS) – serverite vahel ära jagatud failisüsteem
  • Hadoop Yarn – tööülesannete planeerija ning arvutusressursside jagaja
  • Hadoop MapReduce – MapReduce programmeerimismudelit kasutav süsteem suuremahuliste andmete töötlemiseks

Taust[muuda | muuda lähteteksti]

Ajalugu[muuda | muuda lähteteksti]

Projekti alguseks peetakse 2002. aastal alustatud Apache Nutch-i, mis oli samuti avatud lähtekoodiga otsingumootor. 2003. aastal kirjeldas Google oma hajusfailisüsteemi nimega GFS (Google’s File System), mis andis lükke sarnase, kuid avatud lähtekoodiga failisüsteemi kirjutamiseks. Viimase nimeks sai Nutch Distributed Filesystem (NDFS) ning projekt sai hoo sisse aastal 2004. Samal aastal tutvustas Google oma programmeerimismudelit MapReduce, mille kallal hakkas töötama jällegi töötama Nutch-i meeskond. Järgneva aasta keskpaigaks töötasid enamus Nutch-i algoritmid NDFS-i ja MapReduce peal. 2006. aastal liiguti Nutch-i pealt iseseisvaks projektiks – Hadoop-iks. 2008. aasta jaanuariks oli Hadoop saavutanud ülemaailmset edu – projekti kasutasid sellised nimekad firmad nagu Facebook, last.fm ning Yahoo!.[2]

Nimi[muuda | muuda lähteteksti]

Apache Hadoop-ile on nime andnud üks projekti eestvedajatest, Doug Cutting. Dougi laps olevat pannud oma mänguloomast elevandile nimeks Hadoop[3], mis täitis ka mehe tarkvarateegi nimevaliku kriteeriumeid – tol ajal kasutamata, ilma tagamõtteta, kuid samas lihtsasti hääldatav nimi. Hadoop-i alammoodulid kannavad samuti tihti mitteseletavaid nimesid, näiteks Pig (eesti keeles siga) ning Yarn (eesti keeles lõng), kuid väiksemate süsteemi osade puhul eelistatakse nimesid, mis selgitavad ka tema funktsiooni.

MapReduce[muuda | muuda lähteteksti]

Mapreduce programmeerimismudel koosneb kahest põhilisest sammust: map (eesti keeles vastendama) ning reduce (eesti keeles kahandama). Esimeses faasis jaotatakse sisendfail, mis koosneb võti-väärtus paaridest, tükkideks ning saadetakse erinevatele masinatele süsteemis. Selle protsessi eest hoolitseb ülemtööline, spetsiaalne masin, kelle ülesandeks ongi teiste, alammasinate töö juhtimine. Kui alammasinad on oma tööülesanded saanud, algab mapping protsess: igale võti-väärtus paarile rakendatakse sama algoritmi, mis tagastab null või enam võti-väärtus paari. Reducer faasis võetakse arvutatud võti-väärtus paarid ning pannakse need omavahel kokku (kahandatakse üheks). Map ja reduce faaside vahel on veel shuffle & sort (eesti keeles sega ja sorteeri) faas, kus map-funktsiooni väljund sorteeritakse enne reduce-funktsioonile saatmist nende võtmete järgi[4].

Viited[muuda | muuda lähteteksti]

  1. 1,0 1,1 "Hadoop'i koduleht".
  2. White, Tom (2009). Hadoop: The Definitive Guide (trükk: first edition). O'Reilly. 
  3. Chris Morris. "Hadoop: Toddler Talk Provides Big Data Name". cnbc.com, 28.05.2013. Vaadatud 22.04.2018.
  4. "Shuffling and Sorting in Hadoop MapReduce". Vaadatud 19.03.2018.