sql >> Databasteknik >  >> NoSQL >> HBase

HDFS Disk Balancer Introduktion, funktioner och funktioner

I den här bloggen om Hadoop Tutorial, vi kommer att täcka HDFS Diskbalanserare i detalj. Först och främst kommer vi att diskutera vad som är Disk Balancer i Hadoop, sedan kommer vi att diskutera olika funktioner för Hadoop Disk Balancer.

Vi kommer också att diskutera Intra DataNode Disk Balancer i hadoop och dess algoritm. Äntligen i denna handledning kommer vi att täcka funktionerna i Hadoop HDFS Diskbalanserare i detalj.

Introduktion till HDFS Disk Balancer

HDFS Diskbalanserare är ett kommandoradsverktyg. Den distribuerar data enhetligt på alla diskar i en datanod. HDFS Disk balancer är helt annorlunda än Balancer, som tar hand om klusteromfattande databalansering.

På grund av nedanstående skäl kan det hända att HDFS inte alltid distribuerar data på ett enhetligt sätt över diskarna:

  • Mycket skrivande och raderingar
  • Diskbyte

Detta leder till betydande skevhet inom en DataNode. HDFS Balancer kan alltså inte hantera detta, som handlar om Inter, Non-Intra, DN skevhet.

Så, ny Intra-DataNode Balancing-funktionalitet kom till för att hantera denna situation. Detta anropas via HDFS Disk Balancer CLI.

Disk Balancer arbetar mot en given datanod och flyttar block från en disk till en annan.

Användning av Disk Balancer

Genom att skapa en plan (en uppsättning satser) och exekvera den planen på datanoden, fungerar HDFS Disk balancer. Dessa uppsättningar satser beskriver hur mycket data som ska flyttas mellan två diskar.

En plan har många rörelsesteg. Dessa flyttsteg har ett antal byte att flytta, källdisk och målskiva. En plan kan köras mot en operativ dataanod.

HDFS Diskbalanserare är inte aktiverad som standard;

Så för att aktivera HDFS diskbalanserare dfs.disk.balancer.enabled är satt till true i hdfs-site.xml .

HDFS Intra-DataNode DiskBalancer

När användaren skriver nytt block i HDFS, så välj disken för blocket genom att använda volymval av policydatanode. Nedan finns två sådana policyer:

  • Round-robin –  Denna policy distribuerar de nya blocken på ett enhetligt sätt över de tillgängliga diskarna.
  • Tillgängligt utrymme –  Denna policy skriver data till disken som har mer ledigt utrymme i procent.

Som standard använder HDFS DataNode Round-robin-policyn.

Datanode skapar fortfarande betydande obalansvolymer på grund av massiv radering och tillägg av filer i HDFS. Det är till och med möjligt att tillgängligt utrymmesbaserad volymvalspolicy kan leda till mindre effektiv disk I/O.

Varje ny skrivning kommer att gå till den nya tillagda tomma disken medan de andra diskarna vid den tiden var inaktiva. Skapar alltså en flaskhals på den nya disken.

För att minska problemet med dataobalans utvecklade Apache Hadoop-gemenskapen offlineserverskript. HDFS-1312 introducerade också en diskbalanserare online. Detta ombalanserar volymerna på en löpande datanod baserat på olika mätvärden.

Förmåga hos HDFS Disk Balancer

1. Dataspridningsrapport

Användaren kan mäta hur man sprider data genom mätvärden.

a) Volymdatatäthet eller Intranoddatatäthet

Detta mått kan beräkna hur mycket data som finns på en nod. Berätta också vilken idealisk lagring på varje volym är.

Formel för beräkning, d.v.s. total data vid den noden dividerad med den totala diskkapaciteten för den noden.

Idealisk lagring =  totalt använd % total kapacitet
Volymdatadensitet =  idealisk lagring – dfsUsedRatio

  • Positivt värde- Detta indikerar att disken är underutnyttjad.
  • Negativt värde- Detta indikerar att disken är överutnyttjad.
b) Noddatatäthet eller datadensitet mellan noder

Som nu har vi beräknat volymdatatäthet. Så vi kan enkelt jämföra vilka alla noder i datacentret som behöver balansera?

c) Rapporter

Nu har vi volymdatatäthet och noddatatäthet. Så diskbalanseraren kan balansera de 20 bästa noderna i klustret som har den skeva datadistributionen.

2. Balansera data mellan volym medan datanod är vid liv

HDFS Diskbalanserare har förmågan att flytta data från en volym till en annan.

Slutsats

Sammanfattningsvis kan vi säga att Disk Balancer är verktyget som distribuerar data på alla diskar i en datanod. Det fungerar genom att skapa en plan (uppsättning uttalanden) och exekvera den planen på datanoden.

HDFS Disk Balancer använder Round-robin och Tillgängligt utrymme policyer för att välja disken för blocket. Om du tycker att den här bloggen är användbar, eller om du har några frågor, så dela gärna med oss ​​i kommentarsfältet. Vi löser dem gärna.


  1. Hur man skapar Mongoose Schema med en rad objekt-ID:n?

  2. BadValue Ogiltigt eller ingen användarspråk inställd. Se till att miljövariablerna LANG och/eller LC_* är korrekt inställda

  3. Hur man bäst skapar ett RESTful API i Node.js

  4. mongoDB :Skapa ett objekt-ID för varje nytt barn som läggs till i matrisfältet