NameNode høy tilgjengelighet med Quorum Journal Manager



NameNode høy tilgjengelighet er en av de viktigste funksjonene i Hadoop 2.0. NameNode høy tilgjengelighet med Quorum Journal Manager brukes til å dele redigeringslogger mellom Active og Standby NameNodes.

Dette er en av de viktigste funksjonene i Hadoop 2.0. Før du diskuterer Namenode High Availability-funksjonen, er det viktig å vite hva Quorum er. Quorum er et generisk begrep som brukes i klynger der vi sier at en bestemt klynge er stabil. Quorum gir en liste over maskiner og hjelper til med å bestemme klyngens helse. Det er to typer kvorum: Forventet kvorum og beregnet kvorum.





NameNode høy tilgjengelighet med Quorum Journal Manager (QJM)

Før Hadoop 2.0 var NameNode et enkelt feilpunkt (SPOF) i en HDFS-klynge. Hver klynge hadde en enkelt NameNode, og hvis maskinen ikke var tilgjengelig, ville klyngen i det hele tatt være utilgjengelig til NameNode enten ble startet på nytt eller startet på en egen maskin. I en klassisk HA-klynge er to separate maskiner konfigurert som NameNodes. Når som helst vil en av Navnekoder være i Aktiv tilstand og den andre i Standby-tilstand. Active NameNode er ansvarlig for alle klientoperasjoner i klyngen, mens Standby bare fungerer som en slave og opprettholder nok tilstand til å gi en rask failover.

For at standby-noden skal holde sin tilstand koordinert med den aktive noden, kommuniserer begge noder med en gruppe separate demoner kalt ‘JournalNodes’ (JNs). Når endringer i navneområdet utføres av den aktive noden, logger den en oversikt over endringene som er gjort, i JournalNodes. Standby-noden er i stand til å lese den endrede informasjonen fra JN-ene, og overvåker dem jevnlig for endringer. Når Standby Node ser endringene, bruker den dem i sitt eget navneområde. I tilfelle en failover vil Standby sørge for at den har lest alle endringene fra JounalNodes før den endret tilstanden til 'Active state'. Dette garanterer at navneplasstilstanden er fullstendig synkronisert før en failover oppstår.



For å gi en rask failover er det viktig at standby-noden må ha oppdatert og aktuell informasjon om plasseringen av blokker i klyngen. For at dette skal skje, konfigureres DataNodene med plasseringen til begge Navnekoder, og sender blokkeringsinformasjon og hjerteslag til begge.

fordeler og ulemper ved python

Det er viktig at bare en av NameNodes må være aktiv om gangen. Ellers vil navneplasstilstanden avvike mellom de to og føre til tap av data eller feilaktige resultater. For å unngå dette, vil JournalNodes bare tillate en enkelt NameNode til en forfatter om gangen. Under en failover vil NameNode som skal bli aktiv overta ansvaret for å skrive til JournalNodes.

Har du spørsmål til oss? Vennligst nevn dem i kommentarfeltet, så kommer vi tilbake til deg.



Relaterte innlegg:

kokk vs dukke vs ansible

Oversikt over Hadoop 2.0 Cluster Architecture Federation