HBase
 sql >> Datenbank >  >> NoSQL >> HBase

HDFS Disk Balancer Einführung, Betrieb und Funktionen

In diesem Blog des Hadoop-Tutorials Wir behandeln HDFS Disk Balancer im Detail. Zuerst werden wir diskutieren, was Disk Balancer in Hadoop ist, dann werden wir verschiedene Operationen von Hadoop Disk Balancer besprechen.

Wir werden auch den Intra DataNode Disk Balancer in Hadoop und seinen Algorithmus besprechen. Zuletzt behandeln wir in diesem Tutorial die Funktionen von Hadoop HDFS Disk Balancer im Detail.

Einführung in HDFS Disk Balancer

HDFS Disk Balancer ist ein Kommandozeilentool. Es verteilt Daten gleichmäßig auf alle Platten eines Datenknotens. HDFS Disk Balancer unterscheidet sich vollständig von Balancer, der sich um den clusterweiten Datenausgleich kümmert.

Aus den folgenden Gründen verteilt HDFS Daten möglicherweise nicht immer einheitlich auf die Festplatten:

  • Viel Schreiben und Löschen
  • Festplattenaustausch

Dies führt zu einer erheblichen Verzerrung innerhalb eines DataNode. Damit kann HDFS Balancer also nicht umgehen, was sich mit Inter, Non-Intra, DN skew beschäftigt.

Daher wurde eine neue Intra-DataNode-Balancing-Funktionalität geschaffen, um mit dieser Situation fertig zu werden. Dies wird über die CLI von HDFS Disk Balancer aufgerufen.

Disk Balancer arbeitet gegen einen bestimmten Datenknoten und verschiebt Blöcke von einer Festplatte auf eine andere.

Betrieb des Disk Balancers

Durch Erstellen eines Plans (eine Reihe von Anweisungen) und Ausführen dieses Plans auf dem Datenknoten funktioniert HDFS Disk Balancer. Diese Sätze von Anweisungen beschreiben, wie viele Daten zwischen zwei Festplatten verschoben werden sollen.

Ein Plan hat viele Bewegungsschritte. Diese Verschiebungsschritte haben eine Anzahl zu verschiebender Bytes, eine Quellfestplatte und eine Zielfestplatte. Ein Plan kann gegen einen Betriebsdatenknoten ausgeführt werden.

HDFS Disk Balancer ist standardmäßig nicht aktiviert;

Um also den HDFS Disk Balancer zu aktivieren dfs.disk.balancer.enabled auf true gesetzt ist in hdfs-site.xml .

HDFS Intra-DataNode DiskBalancer

Wenn der Benutzer einen neuen Block in HDFS schreibt, wählen Sie die Festplatte für den Block aus, indem Sie das Volume auswählen und die Richtlinie datanode auswählen. Nachfolgend finden Sie zwei solcher Richtlinien:

  • Round-Robin –  Diese Richtlinie verteilt die neuen Blöcke einheitlich auf die verfügbaren Laufwerke.
  • Verfügbarer Speicherplatz –  Diese Richtlinie schreibt Daten auf die Festplatte, die prozentual mehr freien Speicherplatz hat.

Standardmäßig verwendet HDFS DataNode die Roundrobin-Richtlinie.

Datanode erzeugt immer noch ein erhebliches Ungleichgewicht aufgrund des massiven Löschens und Hinzufügens von Dateien in HDFS. Es ist sogar möglich, dass die auf verfügbarem Speicherplatz basierende Volume-Auswahlrichtlinie zu einer weniger effizienten Festplatten-E/A führt.

Jeder neue Schreibvorgang geht auf die neu hinzugefügte leere Festplatte, während die anderen Festplatten zu diesem Zeitpunkt im Leerlauf waren. Dadurch entsteht ein Engpass auf der neuen Festplatte.

Um das Problem des Datenungleichgewichts zu verringern, hat die Apache Hadoop-Community Server-Offline-Skripts entwickelt. HDFS-1312 führte auch einen Online-Disk-Balancer ein. Dies gleicht die Volumes auf einem laufenden Datenknoten basierend auf verschiedenen Metriken neu aus.

Fähigkeiten von HDFS Disk Balancer

1. Bericht zur Datenverbreitung

Benutzer können anhand von Metriken messen, wie Daten verteilt werden.

a) Volumendatendichte oder Intra-Node-Datendichte

Diese Metriken können berechnen, wie viele Daten sich auf einem Knoten befinden. Sagen Sie auch, was der ideale Speicherplatz auf jedem Volume ist.

Berechnungsformel, d. h. Gesamtdaten an diesem Knoten dividiert durch die gesamte Festplattenkapazität dieses Knotens.

Idealer Speicher =  insgesamt genutzte Gesamtkapazität in %
Volumendatendichte =  idealer Speicher – dfsUsedRatio

  • Positiver Wert- Dies weist darauf hin, dass die Festplatte nicht ausgelastet ist.
  • Negativer Wert- Dies weist darauf hin, dass die Festplatte überlastet ist.
b) Knotendatendichte oder Datendichte zwischen Knoten

Wie jetzt haben wir die Volumendatendichte berechnet. Wir können also leicht vergleichen, welche Knoten im Rechenzentrum ausgeglichen werden müssen?

c) Berichte

Jetzt haben wir Volumendatendichte und Knotendatendichte. So kann Disk Balancer die obersten 20 Knoten im Cluster ausgleichen, die die ungleichmäßige Datenverteilung aufweisen.

2. Gleichen Sie Daten zwischen Volumes aus, während Datenknoten aktiv sind

HDFS Disk Balancer kann Daten von einem Volume auf ein anderes verschieben.

Schlussfolgerung

Abschließend können wir sagen, dass Disk Balancer das Tool ist, das Daten auf alle Platten eines Datenknotens verteilt. Es funktioniert, indem es einen Plan (Satz von Anweisungen) erstellt und diesen Plan auf dem Datenknoten ausführt.

HDFS Disk Balancer verwendet Round-Robin und Verfügbarer Speicherplatz Richtlinien für die Auswahl der Festplatte für den Block. Wenn Sie diesen Blog hilfreich finden oder Fragen haben, teilen Sie uns dies bitte im Kommentarbereich mit. Wir lösen sie gerne.