sql >> Database teknologi >  >> NoSQL >> HBase

HDFS Disk Balancer Introduktion, betjening og funktioner

I denne blog om Hadoop Tutorial, vi skal dække HDFS Diskbalancer i detaljer. Først og fremmest vil vi diskutere, hvad der er Disk Balancer i Hadoop, derefter vil vi diskutere forskellige operationer af Hadoop Disk balancer.

Vi vil også diskutere Intra DataNode Disk Balancer i hadoop og dens algoritme. Til sidst i denne vejledning vil vi dække funktionerne i Hadoop HDFS Diskbalancer i detaljer.

Introduktion til HDFS Disk Balancer

HDFS Diskbalancer er et kommandolinjeværktøj. Det distribuerer data ensartet på alle diske i en datanode. HDFS Disk balancer er helt anderledes end Balancer, som tager sig af klyngedækkende databalancering.

På grund af nedenstående årsager distribuerer HDFS muligvis ikke altid data på en ensartet måde på tværs af diskene:

  • Meget skrivning og sletning
  • Diskudskiftning

Dette fører til betydelig skævhed i en DataNode. HDFS Balancer kan således ikke håndtere dette, som vedrører Inter, Non-Intra, DN skævhed.

Så ny Intra-DataNode Balancing-funktionalitet opstod for at håndtere denne situation. Dette påkaldes via HDFS Disk Balancer CLI.

Disk Balancer arbejder mod en given datanode og flytter blokke fra en disk til en anden.

Betjening af Disk Balancer

Ved at oprette en plan (et sæt sætninger) og udføre denne plan på datanoden, fungerer HDFS Disk balancer. Disse sæt sætninger beskriver, hvor meget data der skal flyttes mellem to diske.

En plan har mange bevægelsestrin. Disse flytningstrin har et antal bytes at flytte, kildedisk og destinationsdisk. En plan kan udføres mod en operationel datanode.

HDFS Diskbalancer er ikke aktiveret som standard;

Så for at aktivere HDFS diskbalancer dfs.disk.balancer.enabled er angivet sand i hdfs-site.xml .

HDFS Intra-DataNode DiskBalancer

Når brugeren skriver ny blok i HDFS, så vælg disken til blokken ved at bruge volumenvalgspolitikdatanode. Nedenfor er to sådanne politikker:

  • Round-robin –  Denne politik distribuerer de nye blokke på en ensartet måde på tværs af de tilgængelige diske.
  • Ledig plads –  Denne politik skriver data til den disk, der har mere ledig plads i procent.

Som standard bruger HDFS DataNode Round-robin-politikken.

Datanode skaber stadig betydelig ubalancevolumen på grund af massiv filsletning og tilføjelse i HDFS. Det er endda muligt, at tilgængelig pladsbaseret volumenvalgspolitik kan føre til mindre effektiv disk I/O.

Hver ny skrivning vil gå til den nye tilføjede tomme disk, mens de andre diske på det tidspunkt var inaktive. Dermed skabes en flaskehals på den nye disk.

For at reducere problemet med dataubalance udviklede Apache Hadoop-fællesskabet server offline-scripts. HDFS-1312 introducerede også en online diskbalancer. Dette re-balancerer mængderne på en kørende datanode baseret på forskellige metrics.

Egenskaber i HDFS Disk Balancer

1. Dataspredningsrapport

Brugeren kan måle, hvordan man spreder data gennem metrics.

a) Volumendatatæthed eller Intra-node datatæthed

Disse metrics kan beregne, hvor meget data der er på en node. Fortæl også, hvad der er ideel opbevaring på hver diskenhed.

Formel for beregning, dvs. samlede data på den node divideret med den samlede diskkapacitet for den node.

Ideel lagerplads =  samlet brugt % total kapacitet
Volumendatatæthed =  ideel lagerplads – dfsUsedRatio

  • Positiv værdi- Dette indikerer, at disken er underudnyttet.
  • Negativ værdi- Dette indikerer, at disken er overudnyttet.
b) Nodedatatæthed eller inter-nodedatatæthed

Som nu har vi beregnet volumendatatæthed. Så vi kan nemt sammenligne, hvilke alle noder i datacentret skal balancere?

c) Rapporter

Nu har vi volumendatatæthed og nodedatatæthed. Så diskbalancer kan afbalancere de 20 bedste noder i klyngen, der har den skæve datafordeling.

2. Balancer data mellem volumen, mens datanode er i live

HDFS Disk balancer har evnen til at flytte data fra én diskenhed til en anden.

Konklusion

Afslutningsvis kan vi sige, at Disk Balancer er værktøjet, der distribuerer data på alle diske i en datanode. Det fungerer ved at oprette en plan (sæt af erklæringer) og udføre denne plan på datanoden.

HDFS Disk Balancer bruger Round-robin og Tilgængelig plads politikker for valg af disk til blokken. Hvis du finder denne blog nyttig, eller du har spørgsmål, så del gerne med os i kommentarfeltet. Vi vil med glæde løse dem.


  1. Sådan erstatter du streng i alle dokumenter i Mongo

  2. Redis lagringsliste inde i hash

  3. Sådan gemmer og henter du session fra Redis

  4. php-redis - Er der en måde at gemme PHP-objekt i Redis uden at serialisere det?