NameNode hög tillgänglighet med Quorum Journal Manager



NameNode hög tillgänglighet är en av de viktigaste funktionerna i Hadoop 2.0. NameNode hög tillgänglighet med Quorum Journal Manager används för att dela redigeringsloggar mellan Active och Standby NameNodes.

Detta är en av de viktigaste funktionerna i Hadoop 2.0. Innan vi diskuterar Namenode High Availability-funktionen är det viktigt att veta vad Quorum är. Quorum är en generisk term som används i kluster där vi säger att ett visst kluster är stabilt. Quorum ger en lista över maskiner och hjälper till att bestämma klusterns hälsa. Det finns två typer av kvorum: förväntat kvorum och beräknat kvorum.





NameNode hög tillgänglighet med Quorum Journal Manager (QJM)

Före Hadoop 2.0 var NameNode en enda felpunkt (SPOF) i ett HDFS-kluster. Varje kluster hade en enda NameNode, och om den maskinen var otillgänglig skulle klustret som helhet vara otillgängligt tills NamnNoden antingen startades om eller startades på en separat maskin. I ett klassiskt HA-kluster är två separata maskiner konfigurerade som NameNodes. När som helst kommer en av Namnoderna att vara i aktivt tillstånd och den andra i viloläge. Active NameNode är ansvarig för alla klientoperationer i klustret, medan Standby bara fungerar som en slav och upprätthåller tillräckligt med tillstånd för att ge en snabb failover.

bredd första sökalgoritmen pseudokod

För att standby-noden ska hålla sitt tillstånd samordnat med den aktiva noden kommunicerar båda noder med en grupp separata demoner som kallas ”JournalNodes” (JN). När någon ändring av namnutrymme utförs av den aktiva noden loggas den en registrering av de ändringar som gjorts i JournalNodes. Standby-noden kan läsa den ändrade informationen från JN: erna och övervakar dem regelbundet för ändringar. När standby-noden ser ändringarna tillämpar den dem i sitt eget namnområde. I händelse av en failover kommer Standby att se till att den har läst alla ändringarna från JounalNodes innan den ändrade sitt tillstånd till 'Active state'. Detta garanterar att namnrymdstillståndet är helt synkroniserat innan en failover inträffar.



För att ge en snabb failover är det viktigt att Standby-noden måste ha uppdaterad och aktuell information om placeringen av block i klustret. För att detta ska hända är DataNodes konfigurerade med platsen för båda NameNodes och skickar blockinformation och hjärtslag till båda.

Det är viktigt att endast en av Namnoderna måste vara aktiva åt gången. I annat fall skulle namnrymdstillståndet avvika mellan de två och leda till dataförlust eller felaktiga resultat. För att undvika detta tillåter JournalNodes bara en enda NameNode till en författare åt gången. Under en failover, tar NameNode som ska bli aktiv över ansvaret för att skriva till JournalNodes.

hitta det största numret i en array-Java

Har du en fråga till oss? Vänligen nämna dem i kommentarfältet så återkommer vi till dig.



Relaterade inlägg:

Översikt av Hadoop 2.0 Cluster Architecture Federation

ruby on rails webbhandledning