Mi az elosztott gyorsítótár a Hadoopban?

A Hadoop nyílt forráskódú, elosztott tárolót, valamint hatalmas adatkészletek HDFS és MapReduce felhasználásával történő feldolgozását végző keret. Vannak NameNodes, amelyek tárolják a metaadatokat, és DataNodes, amelyek a tényleges adatokat tárolják a HDFS-ben. Ha feldolgoznunk kell a hatalmas adatkészleteket, akkor ezt a felhasználók által írt program végzi, majd a feldolgozás párhuzamosan történik a DataNodes-ban. A Hadoop keretrendszerben vannak bizonyos fájlok, amelyekre a MapReduce jobok gyakran szükségesek. Ha fut azon térképezők száma, amikor a fájlokat HDFS-ből kell olvasni, akkor a késés növekszik, mivel a keresési idő is növekszik. Tehát ahelyett, hogy minden alkalommal elolvassa a fájlokat, amikor szükség van rájuk, a fájlokat lemásolhatja és elküldheti az összes DataNodes-re. Ezt a mechanizmust elosztott gyorsítótárnak hívják a Hadoopban.

Az elosztott gyorsítótár működése a Hadoopban

  • A Hadoop a feladat elindításakor másolja a HDFS-be a HDFS fájlba, amelyet a –fájlok, -libárok és –archívumok határoznak meg. Ezután a Node Manager átmásolja a fájlokat a HDFS-ből a gyorsítótárba, így amikor egy feladat fut, hozzáférhet a fájlokhoz. A fájlokat úgy lehet elnevezni, hogy lokalizáltak, mivel a cache-re vagy a helyi lemezre másolódnak.
  • A gyorsítótárban az egyes fájlokkal végrehajtott feladatok számát referenciaként tartja fenn a Node Manager. A fájlok referenciaszáma 1 lesz a feladat futtatása előtt. A feladat futtatása után a számlálás 1-rel csökken. Amikor a szám 0-ra válik, a fájl törölhető, mivel nem szokott. Amikor egy csomópont gyorsítótára eléri a megadott méretet, egy fájlt törölnek, hogy az új fájlok beilleszkedjenek. A gyorsítótár mérete megváltoztatható a konfigurációs tulajdonságban. A Hadoopban található elosztott gyorsítótár mérete alapértelmezés szerint 10 GB.
  • A MapReduce lassabb lesz, mint a folyamatban lévő gyorsítótár, ha felül van. A helyzet kiküszöbölése érdekében az elosztott gyorsítótár sorba rendezheti az objektumokat, de ennek is van néhány problémája. A reflexió egy olyan folyamat, amelynek során az információtípust nagyon lassan megvizsgálják a futási idő alatt. Ugyancsak nagyon nehéz lesz a sorosítás során, amikor a teljes fürtnevet, osztálynevet, valamint a tagváltozóban lévő egyéb példányokra való hivatkozásokat tárolja.

A Hadoop megvalósítása elosztott gyorsítótárban

  • Az elosztott gyorsítótár alkalmazáshoz történő használatához meg kell győződnünk arról, hogy a fájlt a csomópontok között elosztjuk-e; a fájlnak először elérhetőnek kell lennie. Tehát át kell másolnunk a fájlokat a HDFS-be, és ellenőriznünk kell, hogy a fájl hozzáférhető-ea URI-k segítségével, amelyek a core-site.xml elérésével találhatók meg. Ezután a MapReduce job átmásolja a gyorsítótár fájlt az összes csomópontra, mielőtt a feladatok futni kezdenek ezeken a csomópontokon.
  • Tehát ahhoz, hogy elosztott gyorsítótárat telepítsünk, át kell másolnunk a fájlokat a HDFS-be, és a hdfs dfs –put /path/samplefile.jar paranccsal ellenőrizhetjük, hogy ez megtörtént-e. Ezenkívül az Job konfigurációját az alkalmazáshoz be kell állítani, és ezt hozzá kell adni az illesztőprogram osztályához.
  • Azok a fájlok, amelyeket csak a tulajdonos olvas, a privát gyorsítótárba kerülnek, míg a megosztott gyorsítótárban azok a fájlok világosan olvashatók. A gyorsítótárba hozzáadott fájlt korlátozás nélkül használják a fürt összes gépében, helyi fájlként. Az alábbi API hívások felhasználhatók a fájlok gyorsítótárba való felvételére.

Kód:

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

Az elosztott gyorsítótár-fájlok megosztása a slave csomópontokon attól függ, hogy az elosztott gyorsítótár-fájlok privát vagy nyilvános-e. A privát elosztott gyorsítótár fájlok gyorsítótárban vannak a felhasználó saját könyvtárában, amely a felhasználó számára privát, és ezeket a fájlokat a felhasználó feladatai megkövetelik. A nyilvános elosztott gyorsítótár-fájlok esetén a fájlok gyorsítótárazásra kerülnek a globális könyvtárban. A fájlok elérését nyilvános gyorsítótár esetén úgy állítják be, hogy azok minden felhasználó számára láthatóak legyenek. A terjesztett gyorsítótár-fájl emellett a fájlrendszer engedélyétől függően magán- vagy nyilvánosvá válik.

Az elosztott gyorsítótár előnyei a Hadoopban

Az elosztott gyorsítótár használatával számos előnyös szolgáltatás hozzáadódik a Hadoop keretrendszerhez. Az alábbiakban bemutatjuk az elosztott gyorsítótár használatának előnyeit:

1. Elosztott gyorsítótár a hiba egyetlen pontján

Egy csomópont meghibásodása esetén a teljes gyorsítótár hibát nem fogja megtenni. Mivel az elosztott gyorsítótár önálló vagy független folyamatként fut a különböző csomópontok között. Tehát ha a gyorsítótár meghibásodása egy csomóponton jelentkezik, ez nem azt jelenti, hogy a teljes gyorsítótárnak is meg kell hibát okoznia.

2. Az adatok konzisztenciája

A hasító algoritmus felhasználásával meghatározható, hogy mely kulcs-érték párok tartoznak az adott csomóponthoz. Ezenkívül a Hadoop-ban elosztott gyorsítótár figyeli vagy nyomon követi a gyorsítótár-fájlok időbélyeg-módosítását, és arról számol be, hogy amíg a munka végrehajtásra nem kerül, a fájlnak nem szabad megváltoznia. Tehát az adatok soha nem lesznek következetlenek a gyorsítótár-fürt egyetlen állapota miatt.

3. Komplex adatok tárolása

A Hadoop keretrendszerben elosztott gyorsítótár biztosítja az írásvédett fájlok, például szöveges fájlok, jar fájlok stb. Gyorsítótárazását, majd az adatcsomópontokba továbbítja azokat. Emiatt a fájl másolatát minden adatcsomópontban tárolja. Az elosztott gyorsítótár funkcióval az összetett fájlok, például egy jar stb. Kerülnek elosztásra és tárolásra.

Következtetés

Az elosztott gyorsítótár hatékonyságot nyújt, mivel a fájlokat minden egyes feladatra egyszer másolja. Ezenkívül képes tárolni azokat a levéltárakat, amelyeket a rabszolgákon nem archiváltak. Az elosztott gyorsítótár használata hozzáadott bónusz, és attól függ, hogy a fejlesztő használja-e ezt a funkciót a legjobban.

Ajánlott cikkek

Ez egy útmutató az elosztott gyorsítótárhoz a Hadoopban. Itt megvitatjuk, hogy mi a Hadoop elosztott gyorsítótára, annak munkája, megvalósítása és előnyei. Megnézheti más kapcsolódó cikkeket is, ha többet szeretne megtudni -

  1. A Hadoop előnyei
  2. Telepítse a Hadoop alkalmazást
  3. Mi a Head in Git?
  4. Apache Hadoop ökoszisztéma
  5. Változók a JavaScript-ben

Kategória: