NameNode Høj tilgængelighed med Quorum Journal Manager

NameNode høj tilgængelighed er en af ​​de vigtigste funktioner i Hadoop 2.0 NameNode høj tilgængelighed med Quorum Journal Manager bruges til at dele redigeringslogfiler mellem Active og Standby NameNodes.



hvordan man hæver sig til en magt i java

Dette er en af ​​de vigtigste funktioner i Hadoop 2.0. Før vi diskuterer Namenode High Availability-funktionen, er det vigtigt at vide, hvad kvorum er. Quorum er en generisk betegnelse, der bruges i klyngedannelse, hvor vi siger, at en bestemt klynge er stabil. Quorum giver en liste over maskiner og hjælper med at bestemme klyngens helbred. Der er to typer kvorum: forventet kvorum og beregnet kvorum.



NameNode høj tilgængelighed med Quorum Journal Manager (QJM)

Før Hadoop 2.0 var NameNode et enkelt fejlpunkt (SPOF) i en HDFS-klynge. Hver klynge havde en enkelt NameNode, og hvis maskinen ikke var tilgængelig, ville klyngen i det hele taget være utilgængelig, indtil NameNode enten blev genstartet eller startet på en separat maskine. I en klassisk HA-klynge er to separate maskiner konfigureret som NameNodes. På et hvilket som helst tidspunkt vil en af ​​NameNodes være i aktiv tilstand, og den anden vil være i standbytilstand. Active NameNode er ansvarlig for alle klientoperationer i klyngen, mens Standby simpelthen fungerer som en slave og opretholder tilstrækkelig tilstand til at give en hurtig failover.

For at Standby-noden skal holde sin tilstand koordineret med den aktive node, kommunikerer begge noder med en gruppe af separate dæmoner kaldet 'JournalNodes' (JN'er). Når en ændring af navneområdet udføres af den aktive knude, registrerer den en registrering af de foretagne ændringer i JournalNodes. Standby-noden er i stand til at læse de ændrede oplysninger fra JN'erne og overvåger dem regelmæssigt for ændringer. Da Standby Node ser ændringerne, anvender den dem i sit eget navneområde. I tilfælde af en failover sørger Standby for, at den har læst alle ændringerne fra JounalNodes, før den ændrer sin tilstand til 'Aktiv tilstand'. Dette garanterer, at tilstanden til navneområdet er fuldt synkroniseret, før en failover opstår.



For at give en hurtig failover er det vigtigt, at Standby-noden skal have de opdaterede og aktuelle oplysninger om placeringen af ​​blokke i klyngen. For at dette kan ske, konfigureres DataNodes med placeringen af ​​begge NameNodes og sender blokplaceringsoplysninger og hjerteslag til begge.

Det er vigtigt, at kun en af ​​NameNodes skal være aktiv ad gangen. Ellers ville navneområdets tilstand afvige mellem de to og føre til tab af data eller fejlagtige resultater. For at undgå dette tillader JournalNodes kun en enkelt NameNode til en forfatter ad gangen. Under en failover overtager NameNode, som skal være aktiv, ansvaret for at skrive til JournalNodes.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.



Relaterede indlæg:

Oversigt over Hadoop 2.0 Cluster Architecture Federation