Zusammenfassung der 10 gängigen HBase-Betriebs- und Wartungstools

Zusammenfassung der 10 gängigen HBase-Betriebs- und Wartungstools

Zusammenfassung: HBase verfügt über zahlreiche Betriebs- und Wartungstools, die Benutzern Verwaltungs-, Analyse-, Reparatur- und Debuggingfunktionen bieten. In diesem Artikel werden einige häufig verwendete HBase-Tools aufgelistet. Entwickler sowie Betriebs- und Wartungspersonal können diesen Artikel zu Rate ziehen und diese Tools für die tägliche Verwaltung und Bedienung von HBase verwenden.

Einführung in HBase-Komponenten

HBase ist eine beliebte und weit verbreitete NoSQL-Datenbank. Aufgrund ihrer komplexen Designarchitektur und Prozesse ist sie für Betriebs- und Wartungspersonal mit wenig Big-Data-Erfahrung sehr anspruchsvoll. Dieser Artikel stellt die vorhandenen Tools für HBase vor und fasst sie zusammen.

Zu Beginn geschriebene Notizen:

1) Aufgrund der großen Unterschiede zwischen den verschiedenen Versionen von HBase (beispielsweise wurde das hbck-Tool aus HBase2.x entfernt) werden alle in diesem Artikel verwendeten Befehlszeilen in der Umgebung von MRS_1.9.3 ausgeführt, was HBase Version 1.3.1 entspricht. Einige Befehle werden auf HBase2 nicht unterstützt (HBase2 wird separat vorgestellt, wenn Zeit ist).

2) Die in diesem Artikel erwähnten HBase-Tools sind alle Open Source-Tools und beinhalten keine vom Hersteller entwickelten Optimierungs-, Betriebs- und Wartungstools.

Kanarienvogel-Werkzeug

HBase Canary ist ein Tool zum Erkennen des aktuellen Status eines HBase-Clusters. Es überprüft mithilfe einfacher Abfragen, ob die Region auf HBASE verfügbar (lesbar) ist. Es ist hauptsächlich in zwei Modi unterteilt

1) Regionsmodus (Standard): Fragen Sie für jede CF in jeder Region nach dem Zufallsprinzip ein Datenelement ab und geben Sie an, ob dies erfolgreich war und wie lange die Abfragelatenz ist.

#Überprüfen Sie die Tabellen t1 und tsdb-uid hbase org.apache.hadoop.hbase.tool.Canary t1 tsdb-uid
  #Hinweis: Alle Regionen scannen, wenn keine Tabelle angegeben ist

2) Im Regionserver-Modus wird auf jedem Regionserver zufällig eine Tabelle zur Abfrage ausgewählt und der Abfrageerfolg und die Abfragelatenz ausgedruckt.

#Überprüfen Sie einen Regionserver hbase org.apache.hadoop.hbase.tool.Canary -regionserver node-ana-coreQZLQ0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com
  #Hinweis: Alle Regionserver scannen, wenn kein Regionserver angegeben ist

Canary kann auch einige einfache Parameter angeben, auf die wie folgt verwiesen werden kann

Zusammenfassen:

  • Auswirkungen auf den Cluster: 2 Sterne (nur ein einfacher Lesevorgang, der bei einer großen Anzahl von Regionen einen kleinen Teil des Anforderungsdurchsatzes beansprucht)
  • Praktikabilität: 2 Sterne

HFile Werkzeuge

HBase HFile-Anzeigetool, wird hauptsächlich zum Überprüfen des Inhalts/der Metadaten eines bestimmten HFiles verwendet. Wenn ein Unternehmen feststellt, dass eine Region nicht gelesen werden kann, die Region aufgrund von Dateiproblemen nicht auf dem Regionserver geöffnet werden kann oder beim Lesen einer Datei eine Ausnahme auftritt, können Sie mit diesem Tool überprüfen, ob nur ein Problem mit der HFile vorliegt.

#Sehen Sie sich die Details einer der HFiles unter der Tabelle t1 an und drucken Sie den KV
hbase org.apache.hadoop.hbase.io.hfile.HFile -v -m -p -f /hbase/data/default/t1/4dfafe12b749999fdc1e3325f22794d0/cf1/06e102be436c449693734b222b9e9aab

Die verwendeten Parameter sind wie folgt:

Zusammenfassen:

  • Auswirkungen auf den Cluster: 1 Stern (dieses Tool verwendet den HBase-Kanal nicht, es liest lediglich Dateien und hat keine Auswirkungen auf den Cluster)
  • Praktikabilität: 4 Sterne (kann genau bestimmen, ob ein Problem mit dem spezifischen HFile-Inhalt vorliegt)

RowCounter- und CellCounter-Tools

RowCounter ist ein Statistiktool, das MapReduce-Aufgaben verwendet, um die Anzahl der Tabellenzeilen zu zählen. Ähnlich wie RowCounter, sammelt jedoch ausführlichere Statistiken zur Tabelle, darunter: die Anzahl der Zeilen, Spaltenfamilien, Qualifizierer und die Anzahl der entsprechenden Vorkommen in der Tabelle. Beide Tools können die Start- und Endpositionen der Zeile und des Zeitstempels angeben, um Bereichsabfragen durchzuführen.

# Zeilenzähler scannen t1
hbase org.apache.hadoop.hbase.mapreduce.RowCounter t1
#Verwenden Sie CellCounter, um die t1-Tabelle zu scannen und schreiben Sie die Ergebnisse in das Verzeichnis /tmp/t1.cell von HDFS hbase org.apache.hadoop.hbase.mapreduce.CellCounter t1 /tmp/t1.cell

Die verwendeten Parameter sind wie folgt:

Zusammenfassen:

Auswirkungen auf den Cluster: 3 Sterne (MapReduce muss gestartet werden, um alle Bereiche der Tabelle zu scannen, die Clusterressourcen belegen)

Praktikabilität: 3 Sterne (das einzige Tool für HBase, um die Anzahl der Zeilen in der eigenen Tabelle zu zählen, die Zähleffizienz in der HBase-Shell ist relativ gering)

Werkzeug reinigen

Der Befehl „Clean“ ist ein Tool zum Löschen von HBase-Daten in ZooKeeper und HDFS. Wenn der Cluster alle Daten bereinigen oder löschen möchte, kann HBase in seinen ursprünglichen Zustand zurückversetzt werden.

#Alle Daten in HBase löschen hbase clean --cleanAll verwendet die folgenden Parameter: 

Zusammenfassen:

Auswirkung auf den Cluster: 5 Sterne (alle Daten im HBase-Cluster löschen)

Praktikabilität: 2 Sterne (außer in Szenarien, in denen HBase-Daten zurückgesetzt werden müssen, z. B. beim Wechsel zu HBase auf OBS, was selten verwendet wird)

HBCK Werkzeuge

Das hbck-Tool von HBase ist das am häufigsten verwendete Tool im täglichen Betrieb und bei der Wartung. Es kann die Konsistenz von Regionen im Cluster überprüfen. Da der RIT-Status von HBase komplexer und fehleranfälliger ist, treten bei täglichem Betrieb und Wartung häufig Probleme wie Region offline/inkonsistent auf. Zu diesem Zeitpunkt können Sie die entsprechenden Befehle verwenden, um es entsprechend den unterschiedlichen Prüfergebnissen von hbck zu reparieren.

#Überprüfen Sie den Regionsstatus der Tabelle t1 hbase hbck t1
#Korrigieren Sie die Metadaten der Tabelle t1 und weisen Sie hbase hbck -fixMeta -fixAssignments t1 neu zu.

Da dieses Tool in zu vielen und detaillierten Szenarien verwendet wird, werden wir es hier nicht im Detail vorstellen. Sie können die Beschreibung der Parameter anzeigen, um verschiedene abnormale Szenarien zu reparieren. Hinweis: Wenn Sie die Ursache der Anomalie nicht kennen, verwenden Sie den Reparaturbefehl nicht wahllos. Dadurch kann das Problem verschlimmert werden.

Die verwendeten Parameter sind wie folgt:

Zusammenfassen:

  • Auswirkungen auf den Cluster: 4 Sterne (einige metabezogene Befehle haben enorme Auswirkungen auf den Cluster)
  • Praktikabilität: 5 Sterne (hbck ist das grundlegendste Betriebs- und Wartungstool für HBase-Betriebs- und Wartungspersonal)

RegionSplitter-Tool

RegionSplitter ist das Pre-Splitting-Tool von HBase. Wenn Sie beim Initialisieren der Tabelle kein Pre-Split konfigurieren, weiß HBase nicht, wie die Region aufgeteilt werden soll, was wahrscheinlich zu nachfolgenden Hotspots zwischen Regionen und Regionservern führt. Am besten ist es, zuerst den Aufteilungspunkt vorherzusagen und beim Erstellen der Tabelle ein Pre-Splitting durchzuführen, um zu Beginn eine allgemeine Lastverteilung des Geschäftszugriffs sicherzustellen. RegionSplitter kann beim Erstellen einer Tabelle mithilfe eines bestimmten Teilungsalgorithmus eine Voraufteilung durchführen. Es gibt zwei Algorithmen:

HexStringSplit

Verwenden Sie 8 hexadezimale Zeichen zum Teilen. Dies ist geeignet, wenn der Zeilenschlüssel eine hexadezimale Zeichenfolge (ASCII) als Präfix ist.

UniformGespalten

Verwenden Sie zum Aufteilen ein Byte-Array der Länge 8 und füllen Sie es entsprechend dem ursprünglichen Byte-Wert (von 0x00 bis 0xFF) rechts mit 00 auf. Wenn Sie Daten in eine auf diese Weise partitionierte Tabelle einfügen, müssen Sie den Zeilenschlüssel irgendwie ändern. Wenn der ursprüngliche Zeilenschlüssel beispielsweise rawStr ist, müssen Sie seinen Hashcode abrufen, das Bytebit umkehren und ihn vor die ursprüngliche Zeilenschlüsselzeichenfolge setzen.

#Erstellen Sie die Tabelle test_table und verwenden Sie den HexStringSplit-Algorithmus zur Vorpartitionierung von 10 hbase org.apache.hadoop.hbase.util.RegionSplitter test_table HexStringSplit -c 10 -f f1
#Tipps: Dieser Vorgang entspricht dem Erstellen von „test_table“, {NAME => „f1“}, {NUMREGIONS => 10, SPLITALGO => „HexStringSplit“} in der HBase-Shell 

Zusammenfassen:

Unabhängig davon, mit welchem ​​Pre-Split-Algorithmus HBase geliefert wird, basiert er auf der Bedingung, dass der Zeilenschlüssel der Tabellendaten selbst seinem vereinbarten Format entspricht. In der Praxis müssen Benutzer weiterhin Zeilenschlüssel entsprechend ihrem Geschäft entwerfen und ihren eigenen Pre-Split-Algorithmus implementieren (die SplitAlgorithm-Schnittstelle implementieren).

Auswirkungen auf den Cluster: 1 Stern (Tabellenerstellungsvorgang, keine Auswirkungen auf andere Clusterdienste)

Praktikabilität: 3 Sterne (die tatsächliche Voraufteilung basiert auf dem tatsächlichen Geschäft. Zum Testen kann der Standard-Aufteilungsalgorithmus von HBase verwendet werden, um das Zeilenschlüsselformat zu konstruieren)

FSHLog-Werkzeug

FSHLog ist ein mit HBase mitgeliefertes Tool zur Überprüfung und Aufteilung von WAL-Dateien. Es besteht hauptsächlich aus zwei Teilen:

entsorgen

Den spezifischen Inhalt einer WAL-Datei ausgeben

Teilt

Lösen Sie den WAL-Split-Vorgang eines WAL-Ordners aus

#Dump den Inhalt einer aktuellen WALs-Datei hbase org.apache.hadoop.hbase.regionserver.wal.FSHLog --dump /hbase/WALs/node-ana-coreqzlq0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com,16020,1591846214733/node-ana-coreqzlq0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com%2C16020%2C1591846214733.1592184625801

Verwandte Parameter

Zusammenfassen:

  • Auswirkungen auf den Cluster: 2 Sterne (der ausgelöste WAL-Split-Vorgang fügt dem entsprechenden Worker-Knoten eine kleine Last hinzu. Wenn der WAL, der aufgeteilt werden muss, sehr groß ist, wirkt sich dies auf das Geschäft auf regionaler Ebene aus.)
  • Praktikabilität: 4 Sterne (kann verwendet werden, um die Genauigkeit von WAL-Inhalten zu überprüfen und ist für WAL-Migrationsszenarien geeignet)

WALPlayerTools

WALPlayer ist ein Tool, das Protokolle in WAL-Dateien an HBase wiedergibt. Sie können Daten für eine bestimmte Tabelle oder für alle Tabellen wiedergeben oder entsprechende Zeitintervalle und andere Bedingungen zur Wiedergabe von Daten angeben.

#Daten einer WAL-Datei in Tabelle t1 wiedergeben
hbase org.apache.hadoop.hbase.mapreduce.WALPlayer /tmp/node-ana-coreqzlq0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com%2C16020%2C1591846214733.1592184625801 t1

Q&A: Sowohl FSHLog als auch WALPlayer können Daten in WAL-Dateien in HBase wiederherstellen. Was sind die Unterschiede zwischen ihnen?

FSHLog löst eine WAL-Split-Anforderung an HMaster aus, die alle Daten in WAL in HBase wiederherstellt und dabei HBases eigenen WAL-Split-Prozess befolgt. WALPlayer startet seine eigene MR-Aufgabe, um die Daten in der WAL-Datei zu scannen, legt die qualifizierten Daten in eine bestimmte Tabelle oder gibt HFile in ein bestimmtes Verzeichnis aus

Zugehörige Parameter:

Zusammenfassen:

  • Auswirkungen auf den Cluster: 3 Sterne (das Starten von MR-Aufgaben wird einige Clusterressourcen beanspruchen)
  • Praktikabilität: 4 Sterne (sehr praktisch in bestimmten Szenarien, wie etwa Replikationsvorsynchronisierung und Wiederherstellung von Tabellendaten)

OfflineMetaRepair

Das Tool OfflineMetaRepair wird zum Reparieren von HBase-Metadaten verwendet. Es erstellt HBase-Metadaten basierend auf den Regions-/Tabellenmetadaten von HBase auf HDFS neu.

#Stellen Sie die Metadaten von hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair wieder her

Q&A: hbcks fixMeta kann auch HBase-Metadaten reparieren und bestimmte Tabellen für eine flexiblere Verwendung angeben. Ist es notwendig, OfflineMetaRepair zu verwenden?

Das Tool hbck ist ein Online-Reparaturtool für HBase und kann nicht verwendet werden, wenn HBase nicht gestartet ist. OfflineMetaRepair dient zum Reparieren von HBase-Metadaten im Offlinezustand

Zugehörige Parameter:

Zusammenfassen:

  • Auswirkungen auf den Cluster: 5 Sterne (HBase-Metadaten werden nach dem Sichern der ursprünglichen Metadatentabelle neu erstellt)
  • Praktikabilität: 4 Sterne (Dieses Tool kann HBase wiederherstellen, wenn der Start aus Metadatengründen nicht möglich ist)

Kehrwerkzeug

Das Sweeper-Tool (HBASE-11644) kann kleine MOB-Dateien in einem HBase-Cluster zusammenführen und redundante MOB-Dateien löschen. Es wird die entsprechende SweepJob-Aufgabe basierend auf der Spaltenfamilie gestartet, um die entsprechenden MOB-Dateien zusammenzuführen. Beachten Sie, dass dieses Tool nicht gleichzeitig mit der MOB-Hauptkomprimierung ausgeführt werden kann und dass mehrere Sweeper-Aufgaben derselben Spaltenfamilie nicht gleichzeitig ausgeführt werden können.

#Sweeper auf Tabelle t1 ausführen
hbase org.apache.hadoop.hbase.mob.mapreduce.Sweeper t1 cf1

Zugehörige Parameter:

Zusammenfassen:

  • Auswirkungen auf den Cluster: 5 Sterne (das Zusammenführen von MOB-Aufgaben beansprucht eine große Menge an Yarn-Ressourcen und IO, was erhebliche Auswirkungen auf das Geschäft hat)
  • Praktikabilität: 2 Sterne (nur für MOB-Szenarien geeignet. Die Verwendung von MOB führt zu Engpässen bei der Komprimierung auf HMaster und wird nicht empfohlen (wird nur auf Community HBASE3 unterstützt, zugehöriges Jira HBASE-22749))

Oben sind alle diesmal eingeführten HBase-Betriebs- und Wartungstools aufgeführt. Andere Tools wie Bulkload-Batch-Import, Datenmigration und testbezogenes PE werden vorerst nicht beschrieben. Wenn etwas falsch ist, korrigieren Sie mich bitte. Danke.

Offizielle Dokumentation: https://hbase.apache.org/book.html

Damit ist dieser Artikel über die 10 häufigsten HBase-Betriebs- und Wartungstools abgeschlossen. Weitere relevante Inhalte zu HBase-Betriebs- und Wartungstools finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Allgemeines MapReduce-Programm zum Kopieren von HBase-Tabellendaten
  • Schritte zum Erstellen einer verteilten Hadoop+HBase+ZooKeeper-Clusterumgebung
  • Hbase – Erste Schritte
  • HBase-Einführung
  • Detaillierte Analyse der Vorteile von hbase
  • Tutorial zur Hbase-Spaltenspeicherung
  • Detaillierte Erläuterung des Datenmodells von HBase-Tabellen

<<:  Vue realisiert problemlos Wasserzeicheneffekte

>>:  Einführung in die MySQL-Datenbank: Detaillierte Erläuterung der Konfigurationsmethode für mehrere Instanzen

Artikel empfehlen

Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse

Auf einem Server werden drei MySQL-Instanzprozess...

Eine kurze Diskussion darüber, wie man Div und Tabelle auswählt und kombiniert

Das Seitenlayout war mir schon immer ein Anliegen...

So verwenden Sie die Typerweiterung ohne Typingscript

Vorwort Aufgrund der schwachen Typisierung von JS...

Eine Zusammenfassung detaillierter Einblicke in den Import von CSS

Auf die Entwicklungsgeschichte von CSS wird hier ...

Analysieren Sie, wie Sie automatisch Vue-Komponentendokumentation generieren

Inhaltsverzeichnis 1. Aktuelle Situation 2. Commu...

mysql: [FEHLER] unbekannte Option '--skip-grant-tables'

MySQL-Datenbank meldet FEHLER 1045 (28000): Zugri...

So erstellen Sie ein Django-Projekt und stellen eine Verbindung zu MySQL her

1: django-admin.py startproject Projektname 2: CD...

JavaScript Canvas-Textuhr

In diesem Artikelbeispiel wird der spezifische Co...

Tutorial zur Verwendung von Profilen in MySQL

Was ist ein Profil? Wir können es verwenden, wenn...