NameNode velika dostupnost s Quorum Journal Managerom



Visoka dostupnost NameNode jedna je od najvažnijih značajki Hadoop 2.0. NameNode High Availability s Quorum Journal Manager koristi se za dijeljenje dnevnika uređivanja između aktivnih i stanja mirovanja.

Ovo je jedna od najvažnijih značajki Hadoop 2.0. Prije rasprave o značajci Namenode High Availability, bitno je znati što je Quorum. Kvorum je generički pojam koji se koristi u klasterizaciji gdje kažemo da je određena klaster stabilna. Kvorum daje popis strojeva i pomaže u određivanju zdravlja klastera. Postoje dvije vrste kvoruma: očekivani kvorum i izračunati kvorum.





NameNode Visoka dostupnost s Quorum Journal Manager (QJM)

Prije Hadoop 2.0, NameNode je bio jedna točka kvara (SPOF) u HDFS klasteru. Svaka klaster imala je jedan NameNode, a ako taj stroj nije bio dostupan, klaster u cjelini bio bi nedostupan dok NameNode nije ponovno pokrenut ili pokrenut na zasebnom stroju. U klasičnom HA klasteru dva odvojena stroja konfigurirana su kao NameNodes. U bilo kojem trenutku jedan od čvorova imena bit će u aktivnom stanju, a drugi u stanju čekanja. Active NameNode odgovoran je za sve klijentske operacije u klasteru, dok stanje pripravnosti jednostavno djeluje kao slave, održavajući dovoljno stanja da omogući brzo prebacivanje.

Kako bi čvor u stanju pripravnosti zadržao svoje stanje koordinirano s aktivnim čvorom, oba čvora komuniciraju s grupom odvojenih demona nazvanim 'JournalNodes' (JN). Kada bilo koju modifikaciju prostora imena izvrši aktivni čvor, on bilježi zapis izvršenih promjena u JournalNodes. Čvor u stanju pripravnosti sposoban je očitati izmijenjene informacije od JN-a i redovito ih nadgleda zbog promjena. Kako čvor u stanju pripravnosti vidi promjene, onda ih primjenjuje na svoj vlastiti prostor imena. U slučaju otkaza, stanje čekanja pobrinut će se da je pročitalo sve promjene iz JounalNodes-a prije nego što promijeni svoje stanje u 'Aktivno stanje'. To jamči da je stanje prostora imena u potpunosti sinkronizirano prije nego što se dogodi otkazivanje.



slučajni razred u primjeru Java

Da bi se osiguralo brzo prebacivanje, bitno je da čvor u stanju pripravnosti mora imati ažurirane i trenutne informacije o položaju blokova u klasteru. Da bi se to dogodilo, DataNodes su konfigurirani s lokacijom oba NameNodes i šalju obojici informacije o bloku i otkucaje srca.

Bitno je da samo jedan od NameNodes mora biti aktivan istovremeno. U suprotnom, stanje prostora imena odstupalo bi između njih i dovodilo do gubitka podataka ili pogrešnih rezultata. Da bi se to izbjeglo, JournalNodes će istovremeno dopuštati samo jedan NameNode piscu. Tijekom failover-a, NameNode koji će postati aktivan preuzet će odgovornost pisanja u JournalNodes.

Imate pitanje za nas? Molimo vas da ih spominjete u odjeljku za komentare i javit ćemo vam se.



pretvoriti dvostruko u cjelobrojni java

Vezane objave:

kako koristiti čekanje i obavještavanje u javi -

Pregled Hadoop 2.0 Federacije klaster arhitekture