Video: HBase Tutorial for Beginners | What is HBase in Hadoop | HBase Shell Commands 2024
Starten van een bespreking van de architectuur van HBase (Hadoop Database) door RegionServers te beschrijven in plaats van de MasterServer kan u verrassen. De term RegionServer lijkt te impliceren dat deze afhankelijk is van (en secundair is aan) de MasterServer en dat u daarom eerst de MasterServer moet bespreken. Zoals het oude liedje echter zegt, "het is niet noodzakelijk zo. "
De RegionServers zijn wel afhankelijk van de MasterServer voor bepaalde functies, maar niet in de zin van een master-slave-relatie voor gegevensopslag en -opslag. Let in de linkerbovenhoek van de afbeelding op dat de clients niet naar de MasterServer wijzen, maar wijs in plaats daarvan naar het Zookeeper-cluster en naar RegionServers.
De MasterServer bevindt zich niet in het pad voor gegevensopslag en toegang - dat is de taak van het Zookeeper-cluster en de RegionServers. Bekijk de primaire functies van de MasterServer, die ook een softwareproces (of daemon) is zoals de RegionServers. De MasterServer is er voor
-
Monitor de RegionServers in het HBase-cluster: De MasterServer houdt een lijst bij van actieve RegionServers in het HBase-cluster.
-
Bewerk metagegevensbewerkingen: Wanneer een tabel wordt gemaakt of de kenmerken ervan worden gewijzigd (compressie-instelling, cache-instellingen, versiebeheer en meer), verwerkt de MasterServer de bewerking en slaat de vereiste metagegevens op.
-
Regio's toewijzen: De MasterServer wijst regio's toe aan RegionServers.
-
Beheer RegionServer-failover: Zoals met elk verspreid cluster, hoopt u dat er geen node-fouten optreden en u plant ze hoe dan ook. Wanneer regioservers falen, waarschuwt Zookeeper de MasterServer zodat failover- en herstelbewerkingen kunnen worden gestart.
-
Toezicht houden op taakverdeling van regio's over alle beschikbare RegionServers: Mogelijk herinnert u zich dat tabellen bestaan uit regio's die gelijkmatig over alle beschikbare RegionServers zijn verdeeld. Dit is het werk van de balancer-thread (of karwei , als u dat liever hebt) die de MasterServer periodiek activeert.
-
Catalogustabellen beheren (en opschonen): Twee belangrijke catalogustabellen worden door het HBase-systeem gebruikt om een klant te helpen een bepaald sleutelwaardepaar in het systeem te vinden.
De MasterServer biedt beheer van deze kritieke tabellen namens het algemene HBase-systeem.
-
Wis de WAL: De MasterServer communiceert met de WAL tijdens de failServer van RegionServer en reinigt periodiek de logboeken.
-
Zorg voor een coprocessorraamwerk voor het observeren van hoofdbewerkingen: Hier is nog een nieuwe term voor uw groeiende HBase-woordenlijst. Coprocessors worden uitgevoerd in de context van de MasterServer of RegionServers. Met een MasterServer-viewer-coprocessor kunt u bijvoorbeeld de normale functionaliteit van de server wijzigen of uitbreiden wanneer bewerkingen zoals het maken van tabellen of het verwijderen van tabellen plaatsvinden. Vaak worden coprocessors gebruikt om tabelindices voor geavanceerde HBase-toepassingen te beheren.
Een coprocessor, die in de context van de MasterServer en / of RegionServer (of beide) wordt uitgevoerd, kan worden gebruikt om de beveiliging te verbeteren, secundaire indexen te maken en meer. U kunt meer informatie over coprocessors vinden op een HBase gemeenschapsblog.
Zoals met alle open-source Hadoop-technologieën, zullen de activiteiten van MasterServer waarschijnlijk veranderen in de loop van de tijd als de gemeenschap van ingenieurs werkt aan innovaties die ontworpen zijn om HBase te verbeteren. Vanaf dit schrijven, echter, heb je nu een vrij uitgebreide lijst die dient als een referentie op hoog niveau voor de MasterServer.
Tot slot nog een belangrijk punt om aan te brengen over de HBase MasterServer: er kan en moet een back-up MasterServer zijn in elk HBase-cluster. Er hoeft slechts één actieve MasterServer op elk gewenst moment aanwezig te zijn, dus de backup MasterServer is bedoeld voor failoverdoeleinden.
Mogelijk herinnert u zich dat de MasterServer zich niet in het gegevenstoegangspad voor HBase-clients bevindt. U kunt zich echter ook herinneren dat de MasterServer verantwoordelijk is voor acties zoals RegionServer-failover en taakverdeling. Het goede nieuws is dat clients het HBase-cluster kunnen blijven ondervragen als de master uitvalt, maar voor normale clusterbewerkingen moet de master niet lang stil blijven staan.