W tym blogu Samouczka Hadoop omówimy HDFS Wyważarka dysków w szczegółach. Przede wszystkim omówimy, czym jest równoważenie dysków w Hadoop, a następnie omówimy różne operacje równoważenia dysków Hadoop.
Omówimy również Intra DataNode Disk Balancer w hadoop i jego algorytm. Na koniec w tym samouczku omówimy funkcje Hadoop Szczegóły dotyczące równoważenia dysków HDFS.
Wprowadzenie do systemu równoważenia dysków HDFS
Wyważarka dysków HDFS to narzędzie wiersza poleceń. Rozprowadza dane równomiernie na wszystkich dyskach węzła danych. Balancer dysków HDFS jest zupełnie inny niż Balancer, który zajmuje się równoważeniem danych w całym klastrze.
Z poniższych powodów HDFS może nie zawsze dystrybuować dane w jednolity sposób na dyskach:
- Dużo pisania i usuwania
- Wymiana dysku
Prowadzi to do znacznego pochylenia w DataNode. W ten sposób HDFS Balancer nie może sobie z tym poradzić, co dotyczy skosu Inter, Non-Intra, DN.
Tak więc powstała nowa funkcja równoważenia między węzłami danych, aby poradzić sobie z tą sytuacją. Jest to wywoływane przez interfejs wiersza polecenia HDFS Disk Balancer.
Disk Balancer działa z danym węzłem danych i przenosi bloki z jednego dysku na drugi.
Działanie wyważarki dysków
Tworząc plan (zestaw instrukcji) i wykonując ten plan na węźle danych, działa równoważnik dysków HDFS. Te zestawy stwierdzeń opisują, ile danych należy przenieść między dwoma dyskami.
Plan ma wiele kroków ruchu. Te kroki przenoszenia mają pewną liczbę bajtów do przeniesienia, dysk źródłowy i dysk docelowy. Plan może zostać wykonany na operacyjnym węźle danych.
System równoważenia dysków HDFS nie jest domyślnie włączony;
Aby włączyć równoważenie dysków HDFS, dfs.disk.balancer.enabled jest ustawiona prawda w hdfs-site.xml .
HDFS Intra-DataNode Disk Balancer
Kiedy użytkownik zapisuje nowy blok w HDFS, więc używając woluminu wybierając nazwę węzła danych zasad wybierz dysk dla bloku. Poniżej znajdują się dwie takie zasady:
- Okrągłe – Ta zasada rozdziela nowe bloki w jednolity sposób na dostępne dyski.
- Dostępne miejsce – Ta zasada zapisuje dane na dysku, który ma więcej wolnego miejsca w procentach.
Domyślnie HDFS DataNode używa zasady Round-robin.
Datanode nadal powoduje znaczne niezrównoważenie wolumenu z powodu masowego usuwania i dodawania plików w HDFS. Możliwe jest nawet, że polityka wyboru woluminu na podstawie dostępnej przestrzeni może prowadzić do mniej wydajnych operacji we/wy dysku.
Każdy nowy zapis zostanie przesłany na nowo dodany pusty dysk, podczas gdy w tym czasie inne dyski były bezczynne. W ten sposób tworzy się wąskie gardło na nowym dysku.
Aby zmniejszyć problem braku równowagi danych, społeczność Apache Hadoop opracowała skrypty offline dla serwerów. HDFS-1312 wprowadził również balanser dysków online. To ponownie równoważy wolumeny w działającym węźle danych w oparciu o różne metryki.
Możliwości równoważenia dysków HDFS
1. Raport rozpowszechniania danych
Użytkownik może zmierzyć, jak rozpowszechniać dane za pomocą metryk.
a) Gęstość danych objętościowych lub gęstość danych wewnątrz węzła
Te metryki mogą obliczyć ilość danych w węźle. Powiedz także, jaka jest idealna pamięć na każdym woluminie.
Wzór na obliczenia, tj. Całkowita ilość danych w tym węźle podzielona przez całkowitą pojemność dysku tego węzła.
Idealne miejsce do przechowywania = całkowity używany % całkowitej pojemności
Gęstość danych woluminu = idealne miejsce do przechowywania – dfsUsedRatio
- Dodatnia wartość- Oznacza to, że dysk jest niewykorzystany.
- Wartość ujemna- Oznacza to, że dysk jest nadmiernie wykorzystany.
b) Gęstość danych węzła lub gęstość danych między węzłami
Jak teraz obliczyliśmy gęstość danych objętościowych. Czyli możemy łatwo porównać, które wszystkie węzły w centrum danych muszą się zrównoważyć?
c) Raporty
Teraz mamy gęstość danych objętościowych i gęstość danych węzłowych. Dzięki temu system równoważenia dysków może zrównoważyć 20 największych węzłów w klastrze, które mają przekrzywioną dystrybucję danych.
2. Zrównoważ dane między woluminami, gdy węzeł danych jest aktywny
Balanser dysku HDFS ma możliwość przenoszenia danych z jednego woluminu na drugi.
Wniosek
Podsumowując, możemy powiedzieć, że Disk Balancer to narzędzie, które dystrybuuje dane na wszystkich dyskach węzła danych. Działa poprzez utworzenie planu (zestawu instrukcji) i wykonanie tego planu w węźle danych.
System równoważenia dysków HDFS korzysta z Round-robin i Dostępne miejsce zasady wyboru dysku do bloku. Jeśli uznasz ten blog za pomocny lub masz jakieś pytania, podziel się z nami w sekcji komentarzy. Z przyjemnością je rozwiążemy.