HBase-Architektur: Alles, was Sie wissen müssen [2022]
Veröffentlicht: 2021-01-06Sowohl strukturierte als auch unstrukturierte Daten nehmen exponentiell zu, und Apache Hadoop hat seine Exzellenz im Umgang mit solch riesigen Datenmengen unter Beweis gestellt. Der Apache Hadoop hat daher in der Big-Data-Welt viel Anklang gefunden. Es gibt jedoch bestimmte Einschränkungen für die HDFS-Architektur von Hadoop.
HDFS gibt Operationen mit hoher Latenz aus und kann nicht viele Lese- und Schreibanforderungen gleichzeitig verarbeiten. Eine weitere Einschränkung besteht darin, dass HDFS eine Write-Once-Read-Many-Times-Architektur ist, was bedeutet, dass eine Datei vollständig neu geschrieben werden muss, um einen Datensatz zu ändern. Diese Einschränkungen der HDFS-Architektur erhöhten den Bedarf an einer HBase-Architektur .
Inhaltsverzeichnis
Was ist HBase?
HBase ist eine spaltenorientierte Datenspeicherarchitektur, die auf HDFS aufgebaut ist, um dessen Einschränkungen zu überwinden. Es nutzt die grundlegenden Funktionen von HDFS und baut darauf auf, um Skalierbarkeit zu bieten, indem ein großes Volumen der Lese- und Schreibanforderungen in Echtzeit verarbeitet wird. Obwohl die HBase-Architektur eine NoSQL-Datenbank ist, vereinfacht sie den Prozess der Datenpflege, indem sie sie gleichmäßig über den Cluster verteilt. Dies macht den Zugriff auf und die Änderung von Daten im HBase-Datenmodell schnell. Erfahren Sie mehr über HBase.
Was sind die Komponenten des HBase-Datenmodells?
Da es sich beim HBase-Datenmodell um eine NoSQL-Datenbank handelt, können Entwickler Daten bei Bedarf einfach lesen und schreiben, wodurch es schneller ist als die HDFS-Architektur. Es besteht aus folgenden Komponenten:
1. HBase-Tabellen : Die HBase-Architektur ist spaltenorientiert; Daher werden die Daten in Tabellen gespeichert, die ein tabellenbasiertes Format haben.
2. RowKey : Jedem aufgezeichneten Datensatz wird ein RowKey zugeordnet. Dies erleichtert die Suche nach bestimmten Daten in HBase-Tabellen.

3. Spalten : Spalten sind die verschiedenen Attribute eines Datensatzes. Jeder RowKey kann unbegrenzt viele Spalten haben.
4. Spaltenfamilie : Spaltenfamilien sind eine Kombination aus mehreren Spalten. Eine einzige Anforderung zum Lesen einer Spaltenfamilie ermöglicht den Zugriff auf alle Spalten in dieser Familie, wodurch das Lesen von Daten schneller und einfacher wird.
5. Spaltenqualifizierer: Spaltenqualifizierer sind wie Spaltentitel oder Attributnamen in einer normalen Tabelle.
6. Zelle : Es ist ein Zeilen-Spalten-Tupel, das unter Verwendung von Zeilenschlüssel- und Spaltenqualifizierern identifiziert wird.
7. Zeitstempel : Wann immer Daten im HBase-Datenmodell gespeichert werden, werden sie mit einem Zeitstempel gespeichert.
Lesen Sie: Komponenten des Hadoop-Ökosystems
Was sind die Komponenten der HBase-Architektur?
Die HBase-Architektur besteht aus drei Hauptkomponenten, HMaster, Region Server und ZooKeeper.
1. HMaster
HMaster funktioniert ähnlich wie sein Name. Es ist der Master, der Regionen dem Region Server (Slave) zuweist. Die HBase-Architektur verwendet einen Auto-Sharding-Prozess, um Daten zu verwalten. Wenn dabei eine HBase-Tabelle zu lang wird, wird sie vom System mit Hilfe von HMaster verteilt. Zu den typischen Verantwortlichkeiten von HMaster gehören:
- Steuern Sie das Failover
- Verwalten Sie den Region Server und den Hadoop-Cluster
- Behandeln Sie die DDL-Operationen wie das Erstellen und Löschen von Tabellen
- Verwalten Sie Änderungen in Metadatenvorgängen
- Verwalten und weisen Sie Regionen Region Servern zu
- Akzeptiert Anfragen und sendet sie an den entsprechenden Region Server
2. Regionsserver
Regionsserver sind die Endknoten, die alle Benutzeranforderungen verarbeiten. Mehrere Regionen werden in einem einzigen Region Server zusammengefasst. Diese Regionen enthalten alle Zeilen zwischen angegebenen Schlüsseln. Die Bearbeitung von Benutzeranfragen ist eine komplexe Aufgabe, und daher sind Region Server weiter in vier verschiedene Komponenten unterteilt, um die Verwaltung von Anfragen nahtlos zu gestalten.

- Write-Ahead Log (WAL) : WAL ist mit jedem Regionsserver verbunden und speichert temporäre Daten, die noch nicht auf dem Laufwerk festgeschrieben sind.
- Block-Cache : Dies ist ein Leseanforderungs-Cache; Alle kürzlich gelesenen Daten werden im Blockcache gespeichert. Daten, die nicht oft verwendet werden, werden automatisch aus dem Bestand entfernt, wenn dieser voll ist.
- MemStore : Dies ist ein Schreibcache, der für das Speichern von Daten verantwortlich ist, die noch nicht auf die Festplatte geschrieben wurden.
- HFile : Das HFile speichert alle aktuellen Daten nach dem Commitment.
3. Tierpfleger
ZooKeeper fungiert als Brücke über die Kommunikation der HBase-Architektur . Es ist dafür verantwortlich, alle Regionsserver und die Regionen, die sich darin befinden, im Auge zu behalten. Zu den Aufgaben von ZooKeeper gehört auch die Überwachung, welche Region Server und HMaster aktiv sind und welche ausgefallen sind. Wenn es feststellt, dass eine Serverregion ausgefallen ist, veranlasst es den HMaster, die erforderlichen Maßnahmen zu ergreifen. Wenn andererseits der HMaster selbst ausfällt, löst er den inaktiven HMaster aus, der nach der Warnung aktiv wird. Jeder Benutzer und sogar der HMaster müssen ZooKeeper durchlaufen, um auf Regionsserver und die darin enthaltenen Daten zuzugreifen. ZooKeeper speichert eine .Meta -Datei, die eine Liste aller Regionsserver enthält. Zu den Aufgaben von ZooKeeper gehören:
- Herstellen der Kommunikation über den Hadoop-Cluster
- Pflegen von Konfigurationsinformationen
- Tracking-Region-Server und HMaster-Fehler
- Pflegen von Region Server-Informationen
Wie werden Anforderungen in der HBase-Architektur behandelt?
Da wir nun die Hauptkomponenten der HBase-Architektur und ihre Funktion kennen, wollen wir uns eingehend damit befassen, wie Anforderungen in der gesamten Architektur behandelt werden.
1. Starten Sie die Suche in der HBase-Architektur
Die Schritte zum Initialisieren der Suche sind:
- Der Benutzer ruft die Metatabelle von ZooKeeper ab und fordert dann den Standort des relevanten Regionsservers an.
- Dann fordert der Benutzer mit Hilfe von RowKey die genauen Daten vom Region Server an.
2. Schreibmechanismus in der HBase-Architektur
Die Schritte zum Schreiben in die HBase-Architektur sind:
- Der Client muss zuerst den Regionsserver und dann den Speicherort der Daten finden, um sie zu ändern. (Dieser Schritt ist nur zum Konvertieren von Daten und nicht zum Schreiben neuer Informationen erforderlich.)
- Die eigentliche Schreibanforderung beginnt bei der WAL, wo der Client die Daten schreibt.
- WAL überträgt die Daten an MemStore und sendet eine Bestätigung an den Benutzer.
- Wenn MemStore mit Daten gefüllt ist, übergibt es die Daten an HFile, wo sie gespeichert werden.
3. Lesemechanismus in der HBase-Architektur
Um Daten zu lesen, muss der Benutzer zunächst auf den entsprechenden Regionsserver zugreifen. Sobald der Regionsserver bekannt ist, umfasst der andere Prozess Folgendes:

- Der erste Scan erfolgt im Lese-Cache, dem Block-Cache.
- Der nächste Scan-Speicherort ist MemStore, der Schreibcache.
- Wenn die Daten nicht im Blockcache oder MemStore gefunden werden, ruft der Scanner die Daten aus HFile ab.
Wie funktioniert die Datenwiederherstellung in der HBase-Architektur?
Die Hbase-Architektur bricht Daten durch Komprimierung und Regionsaufteilung, um die Datenlast im Cluster zu reduzieren. Wenn es jedoch zu einem Absturz kommt und eine Wiederherstellung erforderlich ist, gehen Sie wie folgt vor:
- Der ZooKeeper löst HMaster aus, wenn ein Serverausfall auftritt.
- HMaster verteilt abgestürzte Regionen und WAL an aktive Regionsserver.
- Diese Regionsserver führen WAL erneut aus und erstellen den MemStore.
- Wenn alle Regionsserver WAL erneut ausführen, werden alle Daten zusammen mit den Spaltenfamilien wiederhergestellt.
Checkout: Hadoop-Ökosystem und -Komponenten
Endeffekt
Daten sind in verschiedenen Branchen zum neuen Öl geworden. Daher gibt es bei Hadoop mehrere Karrieremöglichkeiten. Auf upGrad erfahren Sie alles über Hadoop und Big Data .
Wenn Sie mehr über Hbase und Big Data erfahren möchten, schauen Sie sich unser Programm „PG Diploma in Software Development Specialization in Big Data“ an, das für Berufstätige konzipiert ist und mehr als 7 Fallstudien und Projekte bietet, 14 Programmiersprachen und Tools sowie praktische Hände abdeckt -on Workshops, mehr als 400 Stunden gründliches Lernen und Unterstützung bei der Stellenvermittlung bei Top-Unternehmen.
Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.