HBase - Architektur
In HBase werden Tabellen in Regionen aufgeteilt und von den Regionsservern bereitgestellt. Regionen werden vertikal durch Spaltenfamilien in "Stores" unterteilt. Speicher werden als Dateien in HDFS gespeichert. Unten ist die Architektur von HBase dargestellt.
Note: Der Begriff "Speicher" wird für Regionen verwendet, um die Speicherstruktur zu erklären.
HBase besteht aus drei Hauptkomponenten: der Clientbibliothek, einem Master-Server und Regionsservern. Regionsserver können je nach Anforderung hinzugefügt oder entfernt werden.
MasterServer
Der Master-Server -
Weist den Regionsservern Regionen zu und verwendet für diese Aufgabe die Hilfe von Apache ZooKeeper.
Behandelt den Lastausgleich der Regionen über Regionsserver hinweg. Es entlädt die ausgelasteten Server und verschiebt die Regionen auf weniger belegte Server.
Behält den Status des Clusters bei, indem der Lastausgleich ausgehandelt wird.
Ist verantwortlich für Schemaänderungen und andere Metadatenoperationen wie das Erstellen von Tabellen und Spaltenfamilien.
Regionen
Regionen sind nichts anderes als Tabellen, die auf die Regionsserver verteilt sind.
Regionsserver
Die Regionsserver haben Regionen, die -
- Kommunizieren Sie mit dem Client und erledigen Sie datenbezogene Vorgänge.
- Verarbeiten Sie Lese- und Schreibanforderungen für alle Regionen darunter.
- Bestimmen Sie die Größe der Region, indem Sie die Schwellenwerte für die Regionsgröße befolgen.
Wenn wir uns den Regionsserver genauer ansehen, enthält er Regionen und Speicher wie unten gezeigt:
Der Speicher enthält Speicher und HFiles. Memstore ist wie ein Cache-Speicher. Alles, was in die HBase eingegeben wird, wird hier zunächst gespeichert. Später werden die Daten übertragen und als Blöcke in Hfiles gespeichert und der Memstore wird geleert.
Tierpfleger
Zookeeper ist ein Open-Source-Projekt, das Dienste wie das Verwalten von Konfigurationsinformationen, das Benennen, das Bereitstellen einer verteilten Synchronisierung usw. bereitstellt.
Zookeeper verfügt über kurzlebige Knoten, die verschiedene Regionsserver darstellen. Master-Server verwenden diese Knoten, um verfügbare Server zu ermitteln.
Zusätzlich zur Verfügbarkeit werden die Knoten auch zum Verfolgen von Serverfehlern oder Netzwerkpartitionen verwendet.
Clients kommunizieren über zookeeper mit Regionsservern.
Im Pseudo- und Standalone-Modus kümmert sich HBase selbst um den Tierpfleger.