Mikä on jaettu välimuisti Hadoopissa?

Hadoop on avoimen lähdekoodin kehys, joka käyttää hajautettua tallennustilaa sekä valtavien tietojoukkojen käsittelyä HDFS: n ja MapReducen avulla. Siinä on NameNodes, joka tallentaa metatiedot, ja DataNodes, jotka tallentavat todellisen tiedon HDFS: ssä. Kun joudumme käsittelemään valtavia tietojoukkoja, sen suorittaa käyttäjien kirjoittama ohjelma ja sitten prosessointi tapahtuu rinnakkain DataNodeissa. Hadoop-puitteissa on tiettyjä tiedostoja, joita MapReduce-työt tarvitsevat usein. Jos käynnissä on useita karttaajia, joka kerta, kun tiedostojen lukemista vaaditaan HDFS: ltä, latenssi kasvaa, koska myös hakuaika kasvaa. Joten sen sijaan, että luet tiedostoja joka kerta, kun tiedostoja tarvitaan, tiedostot voidaan kopioida ja lähettää kaikkiin DataNodeihin. Tätä mekanismia kutsutaan hajautetuksi välimuistiksi Hadoopissa.

Hajautetun välimuistin käyttö Hadoopissa

  • Hadoop kopioi tiedostojen, jotka on määritetty esimerkiksi -tiedostot, -libjarit ja –arkistot, HDFS: ään, kun työ käynnistetään. Sitten Node Manager kopioi tiedostot HDFS: stä välimuistiin, jotta tehtävän suoritettuaan se voi käyttää tiedostoja. Tiedostoja voidaan kutsua lokalisoiduiksi, koska ne kopioidaan välimuistiin tai paikalliselle levylle.
  • Välimuistissa kunkin tiedoston käyttävien tehtävien lukumäärä pidetään referenssinä Node Manager -sovelluksella. Tiedostojen viitearvoksi tulee 1 ennen tehtävän suorittamista. Mutta tehtävän suorittamisen jälkeen laskenta lasketaan yhdellä. Kun laskelmaksi tulee 0, tiedosto voidaan poistaa, koska se ei ole tottunut. Kun solmun välimuisti saavuttaa tietyn koon, tiedosto poistetaan, jotta uudet tiedostot voidaan mukauttaa. Välimuistin kokoa voidaan muuttaa määritysominaisuudessa. Hajautetun välimuistin koko Hadoopissa on oletuksena 10 Gt.
  • MapReduce tulee hitaammaksi kuin prosessin sisäinen välimuisti, jos siinä on yläpuolella. Tämän tilanteen ratkaisemiseksi hajautettu välimuisti voi sarjoittaa objektit, mutta siinäkin on vähän ongelmia. Heijastus on prosessi, jota käytetään tietotyypin tutkimiseen erittäin hitaasti ajon aikana. Lisäksi se tulee erittäin vaikeaksi sarjoittamisessa, kun se tallentaa kokonaisen klusterin nimen, luokan nimen yhdessä viittausten kanssa muihin jäsenmuuttujien läsnäoloihin.

Hadoopin käyttöönotto hajautetussa välimuistissa

  • Jotta hajautettua välimuistia voidaan käyttää sovelluksessa, meidän on varmistettava, että tiedoston jakamiseksi solmujen välillä; tiedoston pitäisi olla ensin saatavilla. Joten meidän on kopioitava tiedostot HDFS: ään ja tarkistettava myös, että tiedostoon pääsee URI: n kautta, joka löytyy avaamalla ydin-site.xml. Sitten MapReduce-työ kopioi välimuistitiedoston kaikkiin solmuihin, ennen kuin tehtävät alkavat suorittaa kyseisissä solmuissa.
  • Joten hajatetun välimuistin toteuttamiseksi meidän on kopioitava tiedostot HDFS: ään ja voimme tarkistaa, tehdäänkö tämä hdfs dfs –put /path/samplefile.jar-komennolla. Lisäksi Job Configuration on määritettävä sovellukselle ja tämä on lisättävä ohjainluokkaan.
  • Tiedostot, jotka vain omistaja lukee, menevät yksityiseen välimuistiin, kun taas jaetussa välimuistissa on maailman lukukelpoisia tiedostoja. Välimuistiin lisättävä tiedosto käytetään ilman rajoituksia klusterin kaikissa koneissa paikallisena tiedostona. Alla olevia API-kutsuja voidaan käyttää tiedostojen lisäämiseen välimuistiin.

Koodi:

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

Hajautettujen välimuistitiedostojen jakaminen slave-solmuissa riippuu siitä, ovatko hajautetut välimuistitiedostot yksityisiä vai julkisia. Yksityiset hajautetut välimuistitiedostot on välimuistissa käyttäjän paikallisessa hakemistossa, joka on käyttäjän yksityinen, ja käyttäjän työpaikat vaativat nämä tiedostot. Julkisten hajautettujen välimuistitiedostojen välimuistit tallennetaan globaaliin hakemistoon. Tiedostojen käyttö julkisen välimuistin yhteydessä on asetettu tavalla, jossa ne ovat kaikkien käyttäjien nähtävissä. Jaetusta välimuistitiedostosta tulee myös yksityinen tai julkinen tiedostojärjestelmän luvasta riippuen.

Hajautetun välimuistin edut Hadoopissa

Hajautetun välimuistin avulla Hadoop-kehykseen lisätään monia edullisia ominaisuuksia. Alla on jaetun välimuistin käytön edut:

1. Hajautettu välimuisti yksittäisessä vikakohdassa

Jos solmu epäonnistuu, se ei tee täydellistä välimuistin virhettä. Koska hajautettu välimuisti toimii itsenäisenä tai riippumattomana prosessina eri solmujen välillä. Joten jos välimuistin vika tapahtuu yhdessä solmussa, se ei tarkoita, että myös koko välimuisti pitäisi epäonnistua.

2. Tietojen johdonmukaisuus

Hash-algoritmin avulla voidaan määrittää, mitkä avain-arvoparit kuuluvat mihin solmuun. Lisäksi Hadoopin hajautettu välimuisti valvoo tai seuraa välimuistitiedostoihin tehtyjä aikaleiman muutoksia ja ilmoittaa, että tiedoston ei pitäisi muuttua, ennen kuin työ on suoritettu. Joten tiedot eivät koskaan tule epäjohdonmukaisiksi välimuistiklusterin yhden tilan vuoksi.

3. Monimutkaisten tietojen tallennus

Hadoop-kehyksen hajautetun välimuistin etuna on vain luku-tiedostojen, kuten tekstitiedostojen, jar-tiedostojen jne. Välimuisti, ja sitten niiden lähettäminen datasolmuihin. Tämän vuoksi tiedostomuoto tallennetaan jokaiselle datasolmulle. Hajautetulla välimuistiominaisuudella hajautetaan ja tallennetaan monimutkaiset tiedostot, kuten purkki jne.

johtopäätös

Hajautettu välimuisti tarjoaa tehokkuutta, koska tiedostot kopioidaan kerran kutakin työtä kohden. Sillä on myös kyky tallentaa välimuisti arkistoihin, joita ei arkisteta orjoille. Hajautetun välimuistin käyttö on lisäbonus, ja kehittäjä käyttää tätä ominaisuutta parhaalla mahdollisella tavalla.

Suositellut artikkelit

Tämä on opas jaettuun välimuistiin Hadoopissa. Tässä keskustellaan siitä, mikä on jaettu välimuisti Hadoopissa, sen työstä, toteutuksesta ja eduista. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -

  1. Hadoopin edut
  2. Asenna Hadoop
  3. Mikä on pää Gitissä?
  4. Apache Hadoopin ekosysteemi
  5. Muuttujat JavaScript

Luokka: