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:
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:
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:
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:
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:
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:
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:
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:
|
<<: Vue realisiert problemlos Wasserzeicheneffekte
Umfassende Dokumentation GitHub-Adresse https://g...
Auf einem Server werden drei MySQL-Instanzprozess...
1. MySQL-Download-Adresse; http://ftp.ntu.edu.tw/...
Es ist ganz einfach, gehen Sie einfach zum Tutori...
Das Seitenlayout war mir schon immer ein Anliegen...
Vorwort Aufgrund der schwachen Typisierung von JS...
Auf die Entwicklungsgeschichte von CSS wird hier ...
Inhaltsverzeichnis 1. Flink-Übersicht 1.1 Grundle...
Zum Beispiel: Code kopieren Der Code lautet wie fo...
Inhaltsverzeichnis 1. Aktuelle Situation 2. Commu...
MySQL-Datenbank meldet FEHLER 1045 (28000): Zugri...
1: django-admin.py startproject Projektname 2: CD...
pt-Herzschlag Wenn die Datenbank zwischen Master ...
In diesem Artikelbeispiel wird der spezifische Co...
Was ist ein Profil? Wir können es verwenden, wenn...