NameNode Magas rendelkezésre állás a Quorum Journal Manager alkalmazással



A Névcsomópont magas rendelkezésre állása a Hadoop 2.0 egyik legfontosabb jellemzője. A Névcsomópont magas rendelkezésre állása a Quorum Journal Managerrel a szerkesztési naplók megosztására szolgál az Aktív és a Készenléti Névcsomópontok között.

Ez a Hadoop 2.0 egyik legfontosabb jellemzője. Mielőtt megvitatnánk a Namenode magas rendelkezésre állású tulajdonságát, elengedhetetlen tudni, hogy mi a Kvórum. A Kvórum a klaszterezésben használt általános kifejezés, ahol azt mondjuk, hogy egy adott klaszter stabil. A Kvórum listát ad a gépekről, és segít meghatározni a fürt állapotát. A Kvórumnak két típusa van: Várható Kvórum és Számított Kvórum.





szélességű első keresési algoritmus álkód

NameNode Magas rendelkezésre állás a Quorum Journal Manager (QJM) segítségével

A Hadoop 2.0 előtt a NameNode egyetlen hibapont (SPOF) volt egy HDFS-fürtben. Minden fürtnek egyetlen NameNode-ja volt, és ha ez a gép nem volt elérhető, akkor a fürt összességében nem volt elérhető, amíg a NameNode-ot vagy újra nem indították, vagy külön gépen nem indították el. Egy klasszikus HA-fürtben két különálló gép NameNodes-ként van konfigurálva. Bármelyik pillanatban az egyik NameNode aktív állapotban lesz, a másik pedig készenléti állapotban. Az Active NameNode felelős a fürt összes kliens műveletéért, míg a Készenlét egyszerűen rabszolgaként működik, elegendő állapotot fenntartva a gyors feladatátvitelhez.

Annak érdekében, hogy a Készenléti csomópont állapotát összehangolva tartsa az Aktív csomóponttal, mindkét csomópont különálló démonok csoportjával kommunikál, úgynevezett „JournalNodes” (JN). Amikor az aktív csomópont bármilyen névtér-módosítást hajt végre, akkor a naplózza a végrehajtott módosítások rekordját a JournalNodes-ben. A Készenléti csomópont képes beolvasni a módosított információkat a JN-ekből, és rendszeresen figyelemmel kíséri őket a változásokra. Amint a Készenléti csomópont látja a változásokat, alkalmazza azokat a saját névterére. Feladatátvétel esetén a Készenlét meggyőződik arról, hogy az összes módosítást elolvasta a JounalNodes-től, mielőtt állapotát „Aktív állapotra” változtatná. Ez garantálja a névtér állapotának teljes szinkronizálását a feladatátvétel előtt.



A gyors feladatátvitel biztosításához elengedhetetlen, hogy a Készenléti csomópontnak rendelkeznie kell frissített és aktuális információkkal a blokkok blokkon belüli elhelyezkedésével kapcsolatban. Ennek érdekében a DataNodes mindkét NameNode helyével van konfigurálva, és blokk helyadatokat és szívdobbanásokat küld mindkettőnek.

Alapvető fontosságú, hogy egyszerre csak az egyik NameNode legyen aktív. Ellenkező esetben a névtér állapota eltérne a kettő között, és adatvesztéshez vagy téves eredményekhez vezetne. Ennek elkerülése érdekében a JournalNodes egyszerre csak egyetlen NameNode-ot engedélyez egy író számára. Egy feladatátvétel során az aktívvá váló NameNode átveszi a JournalNodes írásbeli felelősségét.

Van egy kérdésünk? Kérjük, említse meg őket a megjegyzések részben, és mi kapcsolatba lépünk Önnel.



Kapcsolódó hozzászólások:

A Hadoop 2.0 Cluster Architecture Federation áttekintése

hogyan állítsuk be az osztályt Java-ban