Mis on Hadoopi hajutatud vahemälu?

Hadoop on avatud lähtekoodiga raamistik, mis kasutab hajutatud salvestusruumi ning ka tohutute andmekogumite töötlemist HDFSi ja MapReduce'i abil. Sellel on NameNodes, mis salvestab metaandmed, ja DataNodes, mis salvestab tegelikud andmed HDFS-is. Kui meil on vaja töödelda tohutuid andmekogumeid, teeb seda kasutajate kirjutatud programm ja seejärel toimub töötlemine DataNodes paralleelselt. Hadoopi raamistikus on teatud failid, mida MapReduce'i töökohad sageli vajavad. Kui töötab mitu kaardistajat, siis iga kord, kui on vaja lugeda faile HDFS-ist, pikeneb latentsusaeg, sest pikeneb ka otsimisaeg. Nii et selle asemel, et lugeda faile iga kord, kui neid vaja on, saab neid kopeerida ja saata kõigile DataNodedele. Seda mehhanismi nimetatakse hajutatud vahemäluks Hadoopis.

Hadoopi hajutatud vahemälu töötamine

  • Hadoop kopeerib töö käivitamisel HDFS-i failid, mis on määratletud selliste suvanditega nagu –failid, –libjaarid ja –arhiivid. Seejärel kopeerib sõlmehaldur failid HDFS-ist vahemällu, nii et ülesande käivitamisel pääseb failidele juurde. Faile võib nimetada lokaliseerituks, kuna need kopeeritakse vahemällu või kohalikku ketast.
  • Vahemälus hoiab iga faili kasutavate ülesannete arvu sõlmehaldur viitena. Enne ülesande täitmist saab failide võrdlusarvuks 1. Kuid pärast ülesande täitmist vähendatakse arvu 1 võrra. Kui loenduseks saab 0, saab faili kustutada, kuna see ei harju. Kui sõlme vahemälu saavutab kindla suuruse, kustutatakse fail, et uusi faile mahutada. Vahemälu suurust saab konfiguratsiooni atribuudis muuta. Hadoopi hajutatud vahemälu on vaikimisi 10 GB.
  • MapReduce muutub aeglasemalt kui protsessisisene vahemälu, kui sellel on õhuliini. Sellest olukorrast ülesaamiseks võib hajutatud vahemälu objekte järjestada, kuid isegi sellel on vähe probleeme. Peegeldus on protsess, mida kasutatakse väga aeglase infotüübi uurimiseks töö ajal. Samuti muutub serialiseerimine väga keeruliseks, kui see salvestab klastri täieliku nime, klassi nime koos viidetega teistele liikmemuutujates esinevatele teistele esinemisjuhtudele.

Hadoopi rakendamine hajutatud vahemälus

  • Hajutatud vahemälu kasutamiseks rakenduste jaoks peame faili jaotamiseks sõlmedes levitama seda kindlasti; fail peaks olema esmakordselt kättesaadav. Seega peame failid kopeerima HDFS-i ja kontrollima, kas failile pääseb juurde URI-de kaudu, mida saab leida tuum-site.xml. Seejärel kopeerib MapReduce'i töö vahemälifaili kõigisse sõlmedesse, enne kui ülesanded nendel sõlmedel töötama hakkavad.
  • Nii et hajutatud vahemälu rakendamiseks peame failid HDFS-i kopeerima ja käsu hdfs dfs –put /path/samplefile.jar abil saame kontrollida, kas see on tehtud või mitte. Samuti tuleb rakenduse jaoks seadistada töökonfiguratsioon ja see tuleb lisada draiveriklassi.
  • Ainult omaniku poolt loetavad failid lähevad privaatsesse vahemällu, samas kui jagatud vahemälus on maailmas loetavad failid. Vahemällu lisatud faili kasutatakse kõikides klastri seadmetes piiranguteta kohaliku failina. Allpool olevaid API-kõnesid saab kasutada failide vahemällu lisamiseks.

Kood:

DistributedCache.addCacheFile(URI, conf);
DistributedCache.setCacheFiles(URIs, conf);

Hajutatud vahemälufailide jagamine orjasõlmedel sõltub sellest, kas hajutatud vahemälu failid on privaatsed või avalikud. Privaatsed hajutatud vahemälu failid on vahemällu salvestatud kasutaja lokaalses kataloogis, mis on kasutaja jaoks privaatne ja neid faile nõuavad kasutaja töökohad. Avalike hajutatud vahemälu failide vahemällu salvestatakse failid globaalsesse kataloogi. Juurdepääs failidele avaliku vahemälu korral on seadistatud viisil, kus need on kõigile kasutajatele nähtavad. Samuti muutub hajutatud vahemälufail privaatseks või avalikuks, sõltuvalt failisüsteemi loast.

Hadoopi hajutatud vahemälu eelised

Hajutatud vahemälu kasutamisel lisatakse Hadoopi raamistikku palju soodsaid funktsioone. Allpool on jagatud vahemälu kasutamise eelised:

1. Jaotatud vahemälu tõrkepunktis

Sõlme rikke korral ei põhjusta see vahemälu täielikku tõrget. Kuna hajutatud vahemälu töötab iseseisva või iseseisva protsessina kõigis sõlmedes. Nii et kui vahemälu tõrge ilmneb ühes sõlmes, ei tähenda see, et ka täielik vahemälu peaks ebaõnnestuma.

2. Andmete järjepidevus

Hassi algoritmi abil saab kindlaks teha, millised võtme-väärtuse paarid kuuluvad millisesse sõlme. Samuti jälgib või jälgib Hadoopi hajutatud vahemälu vahemälufailide ajatemperatuuri muutmist ja teatab, et kuni töö pole täidetud, ei tohiks fail muutuda. Nii et vahemäluklastri ühe oleku tõttu ei muutu andmed kunagi ebajärjekindlaks.

3. Keerukate andmete säilitamine

Hadoopi raamistikus hajutatud vahemälu eeliseks on kirjutuskaitsega failide, näiteks tekstifailide, jar-failide jms vahemällu salvestamine ning seejärel edastussüsteemidesse edastamine. Seetõttu salvestatakse faili koopia igas andmesõlmes. Hajutatud vahemälu funktsiooni abil levitatakse ja salvestatakse keerukaid faile nagu purk jne.

Järeldus

Hajutatud vahemälu pakub tõhusust, kuna faile kopeeritakse iga töö jaoks üks kord. Lisaks on see võimeline vahemällu salvestama arhiivide arhiive, mida arhiivimisel pole. Jagatud vahemälu kasutamine on lisaboonus ja selle funktsiooni parimaks kasutamiseks sõltub arendaja.

Soovitatavad artiklid

See on Hadoopi hajutatud vahemälu juhend. Siin käsitleme Hadoopi hajutatud vahemälu, selle tööd, rakendamist ja eeliseid. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Hadoopi eelised
  2. Installige Hadoop
  3. Mis on pea Gitis?
  4. Apache Hadoopi ökosüsteem
  5. Muutujad JavaScriptis

Kategooria: