Video: HBase Tutorial for Beginners | What is HBase in Hadoop | HBase Shell Commands 2024
Att starta en diskussion om HBase (Hadoop Database) arkitekturen genom att beskriva RegionServers istället för MasterServer kan överraska dig. Termen RegionServer tycks innebära att det beror på (och är sekundär till) MasterServer och att du därför bör diskutera MasterServer först. Som den gamla låten går, "det är inte nödvändigtvis så. "
RegionServers beror på MasterServer för vissa funktioner, men inte i betydelsen av ett master-slavförhållande för datalagring och hämtning. I det övre vänstra hörnet av figuren märker du att klienterna inte pekar på MasterServer, men peka istället på Zookeeper cluster och RegionServers.
MasterServer ligger inte i sökvägen för datalagring och åtkomst - det är jobbet hos Zookeeper-klustret och RegionServers. Ta en titt på de viktigaste funktionerna i MasterServer, vilket också är en mjukvaruprocess (eller daemon) som RegionServers. MasterServer är där för att
-
Övervaka RegionServers i HBase-klustret: MasterServer upprätthåller en lista över aktiva områdeservrar i HBase-klustret.
-
Hantera metadataoperationer: När en tabell skapas eller dess attribut ändras (komprimeringsinställning, cache-inställningar, versionering och mer) hanterar MasterServer operationen och lagrar de nödvändiga metadata.
-
Tilldela regioner: MasterServer tilldelar regioner till RegionServers.
-
Hantera RegionServer failover: Som med alla distribuerade kluster hoppas du att nodfel inte uppstår och du planerar för dem ändå. När områdeservrar misslyckas, meddelar Zookeeper MasterServer så att failover och återställningsoperationer kan initieras.
-
Övervaka lastbalansering av regioner över alla tillgängliga RegionServers: Du kan komma ihåg att tabeller består av regioner som är jämnt fördelade över alla tillgängliga RegionServers. Detta är balancergängets arbete (eller chore , om du föredrar) vilket MasterServer periodiskt aktiveras.
-
Hantera (och rena) katalogtabeller: Två nyckelkatalogtabeller används av HBase-systemet för att hjälpa en klient att hitta ett visst nyckelvärdespar i systemet.
MasterServer tillhandahåller hanteringen av dessa kritiska tabeller på uppdrag av det övergripande HBase-systemet.
-
Rensa WAL: MasterServer interagerar med WAL under RegionServer-failover och rengör regelbundet loggarna.
-
Ge en coprocessorram för att observera masterdrift: Här är en annan ny term för din växande HBase-ordlista. Coprocessors kör ihop med MasterServer eller RegionServers. Till exempel kan en MasterServer observatör coprocessor låta dig ändra eller förlänga serverns normala funktionalitet när operationer som tabellen skapas eller tabellen raderas. Ofta används coprosessorer för att hantera tabellindex för avancerade HBase-applikationer.
En coprocessor, som körs inom ramen för MasterServer och RegionServer (eller båda) kan användas för att förbättra säkerheten, skapa sekundära index och mer. Du kan hitta mer information om coprosessorer på en HBase community blogg.
Som med alla Hadoop-teknologier med öppen källkod kommer MasterServer-verksamheten sannolikt att förändras över tiden, eftersom ingenjörsgemenskapen arbetar med innovationer som syftar till att förbättra HBase. Med det här skrivandet har du dock en ganska grundlig lista som fungerar som en referens på hög nivå för MasterServer.
Slutligen en viktigare punkt att göra om HBase MasterServer: Det kan och borde vara en backup MasterServer i något HBase-kluster. Det behöver bara vara en aktiv MasterServer vid vilken tidpunkt som helst, så säkerhetskopieringen MasterServer är för failover.
Du kan komma ihåg att MasterServer inte finns i databasväg för HBase-klienter. Du kan dock också komma ihåg att MasterServer ansvarar för åtgärder som RegionServer-failover och lastbalansering. Den goda nyheten är att kunder kan fortsätta att fråga HBase-klustret om mastern går ner, men för normala klusteroperationer borde mastern inte ligga kvar under någon tid.