Översikt av Hadoop 2.0 Cluster Architecture Federation

Apache Hadoop 2.x består av betydande förbättringar jämfört med Hadoop 1.x. Den här bloggen talar om Hadoop 2.0 Cluster Architecture Federation och dess komponenter.

Hadoop 2.0 Cluster Architecture Federation

Introduktion:

I den här bloggen kommer jag att dyka djupt in i Hadoop 2.0 Cluster Architecture Federation. Apache Hadoop har utvecklats mycket sedan lanseringen av Apache Hadoop 1.x. Som du vet från min tidigare blogg att följer Master / Slave Topology där NameNode fungerar som en master daemon och är ansvarig för att hantera andra slavnoder som kallas DataNodes. I detta ekosystem blir denna enda Master Daemon eller NameNode en flaskhals och tvärtom måste företag ha NameNode som är mycket tillgängligt. Just denna anledning blev grunden för HDFS Federation Architecture och HA (hög tillgänglighet) arkitektur .

De ämnen som jag har täckt i den här bloggen är som följer:





  • Den nuvarande HDFS-arkitekturen
  • Begränsningar av nuvarande HDFS-arkitektur
  • HDFS Federation Architecture

Översikt över nuvarande HDFS-arkitektur:

Single Namespace HDFS Architecture - Översikt över Hadoop 2.0 Cluster Architecture Federation - Edureka

Som du kan se i figuren ovan har den nuvarande HDFS två lager:



hitta det största antalet i array java
  • HDFS namnområde (NS): Detta lager ansvarar för att hantera kataloger, filer och block. Den tillhandahåller all filsystemoperation relaterad till namnrymden som att skapa, radera eller ändra filer eller filkataloger.
  • Lagringslager: Den består av två grundläggande komponenter.
    1. Blockhantering : Den utför följande åtgärder:
      • Kontrollerar hjärtslag för DataNodes regelbundet och hanterar DataNode-medlemskap till klustret.
      • Hanterar blockrapporterna och upprätthåller blockplatsen.
      • Stöder blockoperationer som skapande, modifiering, radering och allokering av blockplats.
      • Upprätthåller replikationsfaktorn konsekvent i hela klustret.

2. Fysisk lagring : Den hanteras av DataNodes som ansvarar för lagring av data och därmed ger läs- / skrivåtkomst till data lagrad i HDFS.

Så med den nuvarande HDFS-arkitekturen kan du ha ett enda namnområde för ett kluster. I denna arkitektur är en enda NameNode ansvarig för att hantera namnområdet. Denna arkitektur är mycket bekväm och enkel att implementera. Det ger också tillräcklig kapacitet för att tillgodose behoven hos det lilla produktionskluster.

Begränsningar av nuvarande HDFS:

Som diskuterats tidigare räckte den nuvarande HDFS till ett litet produktionsklusters behov och användningsfall. Men stora organisationer som Yahoo, Facebook hittade vissa begränsningar när HDFS-klustret växte exponentiellt. Låt oss ta en titt på några av begränsningarna:



python konvertera nummer till binärt
  1. Namnområdet är inte skalbar som DataNodes. Därför kan vi bara ha det antalet DataNodes i klustret som en enda NameNode kan hantera.
  2. De två lagren, dvs namnrymdlagret och lagringslagret är tätt kopplade vilket gör den alternativa implementeringen av NameNode mycket svår.
  3. Prestandan för hela Hadoop-systemet beror på genomströmning av NameNode. Därför beror hela prestandan för alla HDFS-operationer på hur många uppgifter NameNode kan hantera vid en viss tidpunkt.
  4. NameNode lagrar hela namnområdet i RAM för snabb åtkomst. Detta leder till begränsningar när det gäller minnesstorlek dvs. antalet namnområdesobjekt (filer och block) som en enda namnområdeserver kan klara av.
  5. Många av de organisationer (leverantör) som har HDFS-distribution tillåter flera organisationer (klient) att använda sitt klusternamn. Så det finns ingen åtskillnad mellan namnområdet och därför finns det ingen isolering bland klientorganisationer som använder klustret.

HDFS Federation Architecture:

  • I HDFS Federation Architecture har vi horisontell skalbarhet för namntjänsten. Därför har vi flera namnNoder som är federerade, dvs. oberoende av varandra.
  • DataNodes finns längst ner, dvs. underliggande lagringslager.
  • Varje DataNode registreras med alla NamnNoder i klustret.
  • DataNodes överför periodiska hjärtslag, blockerar rapporter och hanterar kommandon från NameNodes.

Den bildliga representationen av HDFS Federation Architecture ges nedan:

Innan jag går vidare, låt mig kort prata om ovanstående arkitektoniska bild:

  • Det finns flera namnområden (NS1, NS2, ..., NSn) och var och en av dem hanteras av respektive namnnamn.
  • Varje namnområde har sin egen blockpool (NS1 har pool 1, NSk har pool k och så vidare).
  • Som visas i bilden lagras blocken från pool 1 (himmelsblå) på DataNode 1, DataNode 2 och så vidare. På samma sätt kommer alla block från varje blockpool att finnas på alla DataNodes.

Låt oss nu förstå komponenterna i HDFS Federation Architecture i detalj:

Blockera pool:

Blockpool är bara en uppsättning block som tillhör ett specifikt namnområde. Så vi har en samling blockpool där varje blockpool hanteras oberoende av varandra. Denna oberoende där varje blockpool hanteras oberoende tillåter namnområdet att skapa block-ID för nya block utan samordning med andra namnområden. Datablocken som finns i hela blockpoolen lagras i alla DataNodes. I grund och botten ger blockpoolen en abstraktion så att datablocken som finns i DataNodes (som i Single Namespace Architecture) kan grupperas motsvarande ett visst namnområde.

Namnrymdsvolym:

Namespace-volymen är inget annat än namespace tillsammans med dess blockpool. Därför har vi i HDFS Federation flera namnrymdsvolymer. Det är en fristående enhet för hantering, dvs. varje namnrymdsvolym kan fungera oberoende. Om en NameNode eller namnrymd raderas kommer motsvarande blockpool som finns på DataNodes också att raderas.

Demo On Hadoop 2.0 Cluster Architecture Federation | Edureka

Nu antar jag att du har en ganska bra idé om HDFS Federation Architecture. Det är mer av ett teoretiskt koncept och människor använder det inte i ett praktiskt produktionssystem i allmänhet. Det finns några implementeringsproblem med HDFS Federation som gör det svårt att distribuera. Därför HA (hög tillgänglighet) arkitektur föredras för att lösa problemet med en enda punkt. Jag har täckt HDFS HA-arkitektur i min nästa blogg.

sträng till datum konvertera i java

Nu när du har förstått Hadoop HDFS Federation Architecture, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka-kursen Big Data Hadoop-certifiering hjälper eleverna att bli experter på HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume och Sqoop med realtidsanvändningsfall på Retail, Social Media, Aviation, Tourism, Finance.

Har du en fråga till oss? Vänligen nämna det i kommentarfältet så återkommer vi till dig.