sql >> Databasteknik >  >> NoSQL >> HBase

Rackmedvetenhet i Hadoop och dess fördelar

DennaHadoop-handledning handlar om Rack Awareness i Hadoop. I den här bloggen kommer vi att beskriva allt om Rack Awareness i HDFS .

Först och främst kommer vi att studera vad som är HDFS Rack Awareness-egenskap, vad är behovet av Rack Awareness i Hadoop. Sedan kommer vi att diskutera replikplacering via Rack Awareness i HDFS.

Till sist kommer vi också att diskutera de olika fördelarna med Rack Awareness in Hadoop-ramverket.

Introduktion till HDFS Rack Awareness

Rackmedvetenhet i Hadoop är konceptet som väljer närmare Datanodes baserat på rackinformationen. Som standard antar Hadoop-installationen att alla noder tillhör samma rack.

För att förbättra nätverkstrafiken när du läser/skriver HDFS-filer i stora kluster av Hadoop. NameNode väljer datanoder, som finns på samma rack eller en närliggande sten för att läsa/skriva förfrågningar (klientnod). HDFS Namenode uppnår denna rackinformation genom att underhålla rack-ID för varje datanod.

Varför Rack Awareness?

Huvudsyftet med Rack-medvetenhet är att:

  • Förbättra datatillförlitlighet och datatillgänglighet.
  • Bättre klusterprestanda.
  • Förhindrar dataförlust om hela racket misslyckas.
  • För att förbättra nätverkets bandbredd.
  • Håll bulkflödet i racket när det är möjligt.

Replikaplacering via Rack Awareness i Hadoop

Huvudsyftet med replikplacering via Rack-medvetenhet, policyn är att förbättra datatillförlitlighet etc.

En enkel policy är att placera repliker på racket för att förhindra att data går förlorade när ett helt rack misslyckas. Och tillåt användning av bandbredd från flera rack när du läser en fil.

På flera rackkluster, blockera replikering följer nedanstående policy:

Du bör inte placera mer än en replik på en nod. Du bör inte heller placera mer än två repliker på samma ställ. Detta har en flaskhals att antalet rack som används för blockreplikering alltid bör vara mindre än det totala antalet blockrepliker.

Till exempel;

  • När ett Hadoop-ramverk skapar ett nytt block, placerar det första repliken på den lokala noden. Och placera en andra i ett annat ställ, och den tredje är på en annan nod på den lokala noden.
  • När du replikerar ett block, om antalet befintliga repliker är en, placerar du den andra på ett annat ställ.
  • När antalet befintliga repliker är två, om de två replikerna är i samma ställ, placerar du den tredje på ett annat ställ.

Fördelar med Rack Awareness i Hadoop

Låt oss nu diskutera några fördelar med Rack Awareness i Hadoop HDFS-

  • Ge högre bandbredd och låg latens –  Denna policy maximerar nätverkets bandbredd genom att överföra block inom ett rack snarare än mellan rack. YARN kan optimera MapReduce jobbprestanda genom att tilldela uppgifter till noder som är närmare deras data när det gäller nätverkstopologi.
  • Ger dataskydd mot rackfel –  Namenode tilldela blockrepliker av 2 och 3 Block till noder i ett annat rack från den första repliken. Således ger det dataskydd även mot rackfel. Detta är dock endast möjligt om Hadoop har konfigurerats med kunskap om dess rackkonfiguration.
  • Minimera skrivkostnaden och maximera läshastigheten –  Rackmedvetenhet, policy placerar läs/skrivförfrågningar till repliker som finns i samma rack. Detta minimerar skrivkostnaden och maximerar läshastigheten.

Slutsats

Sammanfattningsvis är det konceptet som väljer närmare Datanodes baserat på rackinformationen för att förbättra datatillförlitligheten. Huvudsyftet med Rack-Awareness är att förhindra dataförlust om hela racket misslyckas. Det förbättrar också nätverkets bandbredd. Läs mer om HDFS-egenskaper i detalj.

Om du har några frågor relaterade till Rack Awareness i Hadoop, så dela gärna med oss ​​i kommentarsektionen. Vi kommer att göra vårt bästa för att hjälpa dig.


  1. Mongoose lösenord hashing

  2. Enkel användning av EM::Synchrony#sync orsakar "rotfiber" FiberError -- mitt fel?

  3. phpredis-tillägget fungerar inte, det går inte att ladda 'redis.so'

  4. Ansluter till Redis To Go med PHP